https://github.com/salehcodes/saas-ezgrading-backend
https://github.com/salehcodes/saas-ezgrading-backend
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/salehcodes/saas-ezgrading-backend
- Owner: Salehcodes
- Created: 2025-04-13T22:14:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-12T19:49:56.000Z (11 months ago)
- Last Synced: 2025-07-28T22:48:01.605Z (11 months ago)
- Language: JavaScript
- Size: 9.21 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π€ **SaaS ezgrading**: Automated Grading & Mapping System
**SaaS ezgrading** is an innovative tool designed to assist teachers after **grading exams** with **mapping scores** into Excel files using **speech-to-text** technology. Rather than manually filling out rows for each studentβs score, this platform automates the process, saving time and reducing errors. Simply speak the scores, and the system will generate the Excel file for you!
**visit the site to check it out:** https://ezgrading.vercel.app
---
## π Features
- π **Easy Speech-to-Text Input**
Teachers can **speak the scores** for each question in the exam, and the system will transcribe it and map it to each student automatically.
- π **Automatic Excel Generation**
The platform generates an **Excel file** that includes:
- Scores for each student
- **Average score per question**
- **Average score for the entire exam**
- π’ **Student-wise Mapping**
Each student's row in the Excel sheet is automatically populated with their scores for all questions in the exam.
- π§βπ« **Fast and Accurate**
The system minimizes human error by eliminating manual data entry and using speech recognition for fast input.
- π§βπ» **SaaS-based Platform**
Cloud-hosted for easy access from any device with an internet connection, providing teachers with a smooth and scalable solution.
- π **Customizable Grading**
Support for different exam formatsβteachers can map answers to any question, and the system adjusts accordingly.
- π **Secure Authentication with Auth0**
**Auth0** is integrated for secure user authentication. Teachers can sign in to the platform securely using their preferred login methods (Google, Facebook, etc.).
---
## π§ Tech Stack
| Technology | Description |
|-----------------|---------------------------------------------------------|
| π§βπ» **Node.js** | Backend JavaScript runtime for API services |
| π€ **Speech-to-Text** | API integration for transcribing spoken words into text |
| π **ExcelJS** | Library to create, read, and modify Excel files |
| ποΈ **MongoDB** | NoSQL database to store student data and exam details |
| β‘ **Express.js** | Fast and flexible backend framework |
| π§βπ» **React.js** | Frontend library for building the user interface |
| π **Auth0** | Authentication and authorization as a service for secure login |
---
## πΈ Screenshots
_Coming soon!_ (You can add screenshots or videos of how the system works, showcasing the frontend and Excel file results.)
---
## π Getting Started
### Frontend (Client)
1. **Clone the Client Repository**
```bash
git clone https://github.com/Salehcodes/client.git
```
2. **Install Dependencies**
Navigate to the client folder and install the necessary dependencies:
```bash
cd client
npm install
```
3. **Run the Client**
Start the frontend development server:
```bash
npm start
```
The frontend will be available at [http://localhost:3000](http://localhost:3000).
4. **Configure Auth0 Integration**
Ensure you configure your **Auth0 client ID** and **domain** in the frontend `.env` file:
```env
REACT_APP_AUTH0_CLIENT_ID=your_auth0_client_id
REACT_APP_AUTH0_DOMAIN=your_auth0_domain
```
### Backend (API)
1. **Clone the Backend Repository**
```bash
git clone https://github.com/Salehcodes/SaaS-ezgrading-backend.git
```
2. **Install Dependencies**
Navigate to the backend folder and install dependencies:
```bash
cd SaaS-ezgrading-backend
npm install
```
3. **Setup Environment Variables**
Configure your `.env` file with the following variables:
```env
MONGO_URI=mongodb://localhost:27017/ezgrading
SPEECH_TO_TEXT_API_KEY=your_speech_to_text_api_key
AUTH0_CLIENT_ID=your_auth0_client_id
AUTH0_CLIENT_SECRET=your_auth0_client_secret
AUTH0_DOMAIN=your_auth0_domain
PORT=5000
```
4. **Run the Backend API**
Start the backend server:
```bash
npm start
```
The backend will be available at [http://localhost:5000](http://localhost:5000).
---
## π Project Structure
### Frontend (Client)
```bash
client/
βββ src/
β βββ components/ # React components for UI
β βββ services/ # API services and authentication logic (including Auth0 integration)
β βββ pages/ # Different views for users (teacher dashboard, etc.)
β βββ App.js # Main app component
βββ .env # Environment configuration file (includes Auth0 settings)
```
### Backend (API)
```bash
SaaS-ezgrading-backend/
βββ controllers/ # Logic for handling API requests (grading, speech to text)
βββ models/ # Mongoose models for data structures
βββ routes/ # API route definitions
βββ middleware/ # Authentication and other middleware (including Auth0 validation)
βββ .env # Environment configuration file
βββ server.js # Main server file to start the app
```
---
## π€ Contributing
Contributions are welcome! If you'd like to improve the project, please follow these steps:
1. Fork the repository.
2. Create a feature branch (`git checkout -b feature-name`).
3. Commit your changes (`git commit -am 'Add feature'`).
4. Push to the branch (`git push origin feature-name`).
5. Open a Pull Request to the main repository.
---
## π License
This project is licensed under the [MIT License](LICENSE).
---
## πββοΈ Author
**Saleh**
π [GitHub Profile](https://github.com/Salehcodes)
---
## β Show Your Support
If you find this project useful, please give it a βοΈ on GitHub and share it with others!
---
### Future Enhancements
- **Multi-language Support**: Support for speech-to-text in multiple languages.
- **Improved Accuracy**: Implement machine learning algorithms to enhance speech recognition accuracy.