LIFTOFF Academic Planner

Technologies Used

Summary

  The LIFTOFF Calendar was built over the course of 6 months, as part of Drexel University's Computing and Informatics courses. Our team had 20 weeks to build a project from scratch following the Agile methodology. During this time, we learned how to utilize languages such as HTML, CSS, JavaScript, PHP, and SQL, as well as libraries such as Bootstrap 5, AJAX, and JQuery to build a fully functional web application.

Unfortunately, our budget for this project is $0, which means we couldn't pay for hosting. Because the site was built primarily with PHP, we have been unable to find a trusted service to host our site for free. If you go to our live site, you'll see a working home page and about page and that's it. I am currently working on converting the rest of our files to plain HTML, CSS, and JS so that everyone can see the amazing work that was put in to this project.

While you may not be able to see the whole site in action, here is something you can look at. This is a function I wrote in our calendar to create a monthly calendar given the month, year, and calendar name:

    
        // Function to Create the Month View Calendar
        function createMonthCalendar(m, y, c){
            // Store month and year
            var curr_month = m;
            var curr_year = y;
            
            // Calculate the number of days in the current month
            var num_days = new Date(curr_year, curr_month, 0).getDate();
            
            // Calculate the day that the month starts on
            var start_day = parseInt(new Date(curr_month + "/1/" + curr_year).getDay());
            
            // Calculate the number of boxes that should be created
            var total_boxes = num_days+start_day-1;
            while(total_boxes %7 != 0) total_boxes++;
            
            // Store todays information for different output
            var td = [new Date().getDate(), new Date().getMonth()+1, new Date().getYear()+1900];
            
            // Start the New Calendar
            $("tbody").append("");
            
                // Create the Calendar
            for(var x = 1; x<= total_boxes; x++){
                
                // Format the Month as A String
                mstr = ""+curr_month
                if(curr_month<10) mstr = "0"+mstr;
                
                // Format the Day as A String
                dstr = ""+(x-start_day);
                if((x-start_day)<10) dstr = "0"+dstr;
                
                // Format the Full Date as A String
                var tdstr = curr_year+"-"+mstr+"-"+dstr;
                
                // If this box is not an actual day in the month, it is there for aesthetics
                if(x < start_day+1 || x > num_days+start_day) $("tbody").append("");
                
                // If this box is an actual day in the month, and is TODAY, make it bold and blue
                else if(x-start_day == td[0] && m == td[1] && y == td[2]) $("tbody").append(""+(x-start_day)+"");
                
                // This box is an actual day in the month but is not today
                else  $("tbody").append(""+(x-start_day)+"");
                
                // Week is over, move to the next week
                if(x%7 ==0) $("tbody").append(" ");
                
                }
            
            // Get all the events for this month
            var firstd = curr_year+"-"+curr_month+"-1";
            var lastd = curr_year+"-"+curr_month+"-"+num_days;
            getEvents(firstd, lastd, c);
            
        }
    
Back to Home Source Code Go to Project