Skip to content

Salehcodes/SaaS-ezgrading-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎤 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

    git clone https://github.com/Salehcodes/client.git
  2. Install Dependencies Navigate to the client folder and install the necessary dependencies:

    cd client
    npm install
  3. Run the Client Start the frontend development server:

    npm start

    The frontend will be available at http://localhost:3000.

  4. Configure Auth0 Integration Ensure you configure your Auth0 client ID and domain in the frontend .env file:

    REACT_APP_AUTH0_CLIENT_ID=your_auth0_client_id
    REACT_APP_AUTH0_DOMAIN=your_auth0_domain

Backend (API)

  1. Clone the Backend Repository

    git clone https://github.com/Salehcodes/SaaS-ezgrading-backend.git
  2. Install Dependencies Navigate to the backend folder and install dependencies:

    cd SaaS-ezgrading-backend
    npm install
  3. Setup Environment Variables Configure your .env file 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
  4. Run the Backend API Start the backend server:

    npm start

    The backend will be available at http://localhost:5000.


📁 Project Structure

Frontend (Client)

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)

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.


🙋‍♂️ Author

Saleh
🔗 GitHub Profile


⭐ 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published