https://github.com/imrun10/gradecourseapp
This is a grade management application for AUBH following the SCRUM methodology.
https://github.com/imrun10/gradecourseapp
expressjs grade-management mysql-database nodejs react
Last synced: about 1 month ago
JSON representation
This is a grade management application for AUBH following the SCRUM methodology.
- Host: GitHub
- URL: https://github.com/imrun10/gradecourseapp
- Owner: imrun10
- License: mit
- Created: 2023-03-04T15:37:18.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-13T14:38:38.000Z (4 months ago)
- Last Synced: 2025-02-17T23:08:38.278Z (4 months ago)
- Topics: expressjs, grade-management, mysql-database, nodejs, react
- Language: JavaScript
- Homepage:
- Size: 48.3 MB
- Stars: 16
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.

## Table of Contents
- Installation
- Usage
- Project Structure
- API Endpoints
- Database Schema
- Contributing
- License## Installation
1. Clone the repository:
```sh
git clone https://github.com/imrun10/GradeCourseApp.git
cd GradeCourseApp
```2. Install dependencies for the client and server:
```sh
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.sql4. Create a `.env` file in the server directory and add the following:
```env
JWT_KEY=your_jwt_secret_key
MYSQL=mysql_key
```5. Start the server:
```sh
cd server
npm start
```6. Start the client:
```sh
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
We welcome contributions! See the [CONTRIBUTING](CONTRIBUTING.md) file for details.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.