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
-
🎓 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.).
| 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 |
Coming soon! (You can add screenshots or videos of how the system works, showcasing the frontend and Excel file results.)
-
Clone the Client Repository
git clone https://github.com/Salehcodes/client.git
-
Install Dependencies Navigate to the client folder and install the necessary dependencies:
cd client npm install -
Run the Client Start the frontend development server:
npm start
The frontend will be available at http://localhost:3000.
-
Configure Auth0 Integration Ensure you configure your Auth0 client ID and domain in the frontend
.envfile:REACT_APP_AUTH0_CLIENT_ID=your_auth0_client_id REACT_APP_AUTH0_DOMAIN=your_auth0_domain
-
Clone the Backend Repository
git clone https://github.com/Salehcodes/SaaS-ezgrading-backend.git
-
Install Dependencies Navigate to the backend folder and install dependencies:
cd SaaS-ezgrading-backend npm install -
Setup Environment Variables Configure your
.envfile with the following variables: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
-
Run the Backend API Start the backend server:
npm start
The backend will be available at http://localhost:5000.
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)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 appContributions are welcome! If you'd like to improve the project, please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature-name). - Commit your changes (
git commit -am 'Add feature'). - Push to the branch (
git push origin feature-name). - Open a Pull Request to the main repository.
This project is licensed under the MIT License.
Saleh
🔗 GitHub Profile
If you find this project useful, please give it a ⭐️ on GitHub and share it with others!
- Multi-language Support: Support for speech-to-text in multiple languages.
- Improved Accuracy: Implement machine learning algorithms to enhance speech recognition accuracy.