Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/asif7814/gradebuddy-api
GradeBuddy is a comprehensive academic tool that helps students track their grades, manage courses, and calculate their GPA. With features like assignment tracking, goal setting, and performance analytics, GradeBuddy makes it easy to stay on top of your academic journey, all in a user-friendly and intuitive interface.
https://github.com/asif7814/gradebuddy-api
expressjs google-oauth2 mongodb mongoose nodejs
Last synced: 10 days ago
JSON representation
GradeBuddy is a comprehensive academic tool that helps students track their grades, manage courses, and calculate their GPA. With features like assignment tracking, goal setting, and performance analytics, GradeBuddy makes it easy to stay on top of your academic journey, all in a user-friendly and intuitive interface.
- Host: GitHub
- URL: https://github.com/asif7814/gradebuddy-api
- Owner: Asif7814
- Created: 2024-08-25T04:41:50.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-11T20:30:33.000Z (2 months ago)
- Last Synced: 2024-11-09T03:12:27.189Z (10 days ago)
- Topics: expressjs, google-oauth2, mongodb, mongoose, nodejs
- Language: JavaScript
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GradeBuddy API
GradeBuddy is a comprehensive academic tool that helps students track their grades, manage courses, and calculate their GPA. With features like assignment tracking, goal setting, and performance analytics, GradeBuddy makes it easy to stay on top of your academic journey, all in a user-friendly and intuitive interface.
## Project Status: 🚧 Work in Progress (WIP)
## Features
- **User Authentication**: Secure login and registration with Google OAuth.
- **Grade Tracking**: Keep track of your grades across courses and assignments.
- **GPA Calculation**: Automatically calculate and display your GPA.
- **Course Management**: Add, edit, and organize your courses by semester.
- **Assignment Tracking**: Input and track assignments, exams, and projects.
- **Kanban and Calendar Views**: Visualize your workload in a Kanban board or calendar format.
- **Goal Setting**: Set academic goals and track your progress.
- **Performance Analytics**: Analyze trends in your grades and performance.## Technologies Used
- **Backend**: Node.js, Express.js, MongoDB
- **Authentication**: Google OAuth
- **Deployment**: Render## Installation
1. **Clone the repository:**
```bash
git clone https://github.com/yourusername/gradebuddy.git
```2. **Navigate to the project directory:**
```bash
cd gradebuddy
```3. **Install dependencies:**
```bash
npm i
```4. **Set up environment variables:**
- Create a .env file in the root directory with the following:
```bash
MONGODB_URI=your_mongodb_uriGOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
SESSION_SECRET=your_session_secret
```5. **Run the application:**
```bash
git clone https://github.com/yourusername/gradebuddy.git
```## API Endpoints
### Authentication
- **POST /auth/google**: Authenticate using Google OAuth
### Semesters
- **GET /semesters**: Retrieve all semesters for the authenticated user
- **POST /semesters**: Create a new semester### Courses
- **GET /courses**: Retrieve all courses for a specific semester
- **POST /courses**: Add a new course to a semester### Deliverables
- **GET /deliverables**: Retrieve all deliverables for a specific course
- **POST /deliverables**: Add a new deliverable to a course## Contact
Created by [Asif Ashadullah](https://www.linkedin.com/in/asifashadullah/) - feel free to contact me!