Skip to content

Repository files navigation

CourseMap-TCSS445

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.

Tech Stack

  • Frontend: HTML5, CSS3, JavaScript
  • Backend: Node.js, Express.js
  • Database: MySQL
  • Styling: Custom CSS
  • Cloud Service: Google Cloud Platform

Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • MySQL (v8.0 or higher)
  • XAMPP or similar local MySQL server

Installation

  1. Clone the repository
git clone https://github.com/Wahgew/CourseMap-TCSS445.git
cd FinalCourseMap
  1. Install dependencies
cd FinalCourseMap
npm install
  1. 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
  1. Start the application
npm start

The application will be running at http://localhost:5000

Project Structure

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

Available Scripts

  • npm start: Runs the server in development mode

Features

  • 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

Contributors

  • Peter Madin
  • Sopeanith Ny
  • Elias Arriola
  • Ahmed Hassan

Queries Implementation

  1. Query 1: Professor details and their course assignments
  2. Query 2: Courses with average work time less than 10 hours
  3. Query 3: Time-intensive assignments with student participation
  4. Query 4: Professor assignment statistics
  5. Query 5: Long assignments (over 5 hours)

About

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.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages