Skip to content

This is a grade management application for AUBH following the SCRUM methodology.

License

Notifications You must be signed in to change notification settings

imrun10/GradeCourseApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

79f8086 · Mar 15, 2025
Feb 13, 2025
Feb 13, 2025
Jan 27, 2025
Jan 27, 2025
Jan 28, 2025
Jan 28, 2025
Mar 26, 2023
Apr 5, 2023
Apr 5, 2023
Apr 11, 2023
Apr 5, 2023
Jan 28, 2025
May 7, 2023
Apr 22, 2023
Mar 15, 2025
May 8, 2023
Apr 25, 2023

Repository files navigation

Grade Course App

This is a grade management application for AUBH following the SCRUM methodology. The tools used were React.js, Node.js, Express.js, and MySQL. The project covered all parts of a web app, from the database to the frontend, and Git was used to keep track of the different versions of the app.

CMPE 460 - Grading System

Table of Contents

  • Installation
  • Usage
  • Project Structure
  • API Endpoints
  • Database Schema
  • Contributing
  • License

Installation

  1. Clone the repository:

    git clone https://github.com/imrun10/GradeCourseApp.git
    cd GradeCourseApp
  2. Install dependencies for the client and server:

    cd client
    npm install
    cd ../server
    npm install
  3. Set up the MySQL database:

    • Create a database named GradingSystem.
    • Import the SQL files in the following order:
      • GradingSystem_account.sql
      • GradingSystem_Simplified.sql
      • GradingSystem_Sample.sql
      • Procedures.sql
      • Procedures(2).sql
      • users.sql
  4. Create a .env file in the server directory and add the following:

    JWT_KEY=your_jwt_secret_key
    MYSQL=mysql_key
  5. Start the server:

    cd server
    npm start
  6. Start the client:

    cd client
    npm start

Usage

  • Navigate to http://localhost:3000 to access the application.
  • Use the login page to sign in or register a new account.
  • Once logged in, you can view and manage courses, students, and assignments.

Project Structure

.gitattributes
.gitignore
client/
    .gitignore
    package.json
    public/
        favicon.ico
        index.html
        logo192.png
        logo512.png
        manifest.json
        robots.txt
    src/
        App.css
        App.js
        components/
        pages/
        ...
CODE_OF_CONDUCT.md
CONTRIBUTING.md
debug.sql
GradeAppdb.mwb
GradingSystem_account.sql
GradingSystem_Sample.sql
GradingSystem_Simplified.sql
LICENSE
Procedures.sql
Procedures(2).sql
README.md
server/
    .env
    .gitignore
    connection.js
    package.json
    server.js
users.sql

API Endpoints

Authentication

  • POST /api/register - Register a new user.
  • POST /api/login - Login a user.

Students

  • GET /api/student - Get students for a specific course.
  • GET /api/studentDetails - Get detailed student information.
  • GET /api/studentSummaryStudent - Get student summary.
  • GET /api/studentSummaryAssignments - Get student assignment summary.

Courses

  • GET /api/course - Get courses for a specific user.
  • GET /api/course/all - Get all courses.
  • GET /api/courseSummaryData - Get course summary data.

Assignments

  • POST /api/save - Save assignment data.
  • GET /api/checkArray - Check if the array is empty.

Database Schema

The database schema includes the following tables:

  • Users
  • Account
  • Student
  • Faculty
  • Course
  • CourseSection
  • StudentSection
  • CourseAssignment
  • StudentGrade
  • Assignments

Contributing

Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Commit your changes (git commit -m 'Add your message here').
  4. Push to the branch (git push origin feature/your-feature-name).
  5. Open a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This is a grade management application for AUBH following the SCRUM methodology.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published