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.
- Installation
- Usage
- Project Structure
- API Endpoints
- Database Schema
- Contributing
- License
-
Clone the repository:
git clone https://github.com/imrun10/GradeCourseApp.git cd GradeCourseApp
-
Install dependencies for the client and server:
cd client npm install cd ../server npm install
-
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
- Create a database named
-
Create a
.env
file in the server directory and add the following:JWT_KEY=your_jwt_secret_key MYSQL=mysql_key
-
Start the server:
cd server npm start
-
Start the client:
cd client npm start
- 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.
.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
updatedServer.js
server.js
users.sql
POST /api/register
- Register a new user.POST /api/login
- Login a user.
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.
GET /api/course
- Get courses for a specific user.GET /api/course/all
- Get all courses.GET /api/courseSummaryData
- Get course summary data.
POST /api/save
- Save assignment data.GET /api/checkArray
- Check if the array is empty.
The database schema includes the following tables:
Users
Account
Student
Faculty
Course
CourseSection
StudentSection
CourseAssignment
StudentGrade
Assignments
Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'Add your message here'
). - Push to the branch (
git push origin feature/your-feature-name
). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.