CourseMap is a web app that helps CS students estimate assignment completion times based on professor-specific data, aiding in course planning and time management by allowing professors to post assignment details and students to log their own completion times.
- Frontend: HTML5, CSS3, JavaScript
- Backend: Node.js, Express.js
- Database: MySQL
- Styling: Custom CSS
- Cloud Service: Google Cloud Platform
- Node.js (v14 or higher)
- MySQL (v8.0 or higher)
- XAMPP or similar local MySQL server
- Clone the repository
git clone https://github.com/Wahgew/CourseMap-TCSS445.git
cd FinalCourseMap- Install dependencies
cd FinalCourseMap
npm install- Set up environment variables Create a .env file in the backend directory with the following:
DB_HOST=localhost # Database host
DB_USER=tcss445-user # Replace with your MySQL username
DB_PASSWORD=mypassword # Replace with your MySQL password
DB_NAME=coursemap # Database name for coursemap database
# Server Port
DB_PORT=3306- Start the application
npm startThe application will be running at http://localhost:5000
FinalCourseMap/
├── server.js # Main application file
├── dbConfig.js # Database configuration
├── controllers/ # Database controllers
│ ├── query1.js
│ ├── query2.js
│ ├── query3.js
│ ├── query4.js
│ └── query5.js
├── public/ # Static HTML files
│ ├── index.html
│ ├── query1.html
│ ├── query2.html
│ ├── query3.html
│ └── query4.html
├── Stylesheets/ # Styling files
│ ├── index.css
│ └── query1.css
└── assets/ # Images and media
│
├── .env #Same as assignment 3&4
├── package.json
└── readme.md
npm start: Runs the server in development mode
- View professor course assignments and average completion times
- Search courses by various criteria
- Filter assignments by completion time
- View detailed professor statistics
- Track long-duration assignments
- Peter Madin
- Sopeanith Ny
- Elias Arriola
- Ahmed Hassan
- Query 1: Professor details and their course assignments
- Query 2: Courses with average work time less than 10 hours
- Query 3: Time-intensive assignments with student participation
- Query 4: Professor assignment statistics
- Query 5: Long assignments (over 5 hours)