Skip to content

Smart-Assess/smart-assess-backend

Repository files navigation

Screenshot from 2025-05-30 21-41-40

Supported python versions Code style: black License Run Pytest

🌟 Overview

In the current educational landscape, the grading process for academic assignments is often time-consuming, subjective, and inconsistent. This leads to challenges in providing timely and personalized feedback to students. Teachers face difficulties managing large volumes of submissions, which can result in delayed grading and inadequate insights into student performance. This delay not only hampers students' ability to understand their mistakes and improve but also affects their overall learning experience and motivation.

Smart Assess develops an advanced web-based grading platform using Natural Language Processing (NLP) to automate assignment evaluations. It provides detailed, context-aware grading and feedback, reduces grading time, and includes features like grammar checking, AI detection, and plagiarism detection. This enhances the grading experience for teachers and offers students timely feedback for academic growth. 🎓

✨ Features

  • 🚀 FastAPI for building APIs
  • 🔄 Asynchronous request handling
  • 💾 Easy integration with databases
  • 📖 Automatic interactive API documentation
  • 🤖 AI-powered text evaluation
  • ✍️ Grammar checking
  • 🔎 Plagiarism detection

🛠️ Local Development Setup

Prerequisites

  • 🐍 Python 3.8+
  • 🐳 Docker and Docker Compose
  • 🐙 Git

Installation

  1. Clone the repository:

    git clone https://github.com/Smart-Assess/smart-assess-backend.git
  2. Navigate to the project directory:

    cd smart-assess-backend
  3. Create your environment configuration file: Copy the example environment file (.env.example) to .env:

    cp .env.example .env 

    Then, populate .env with your local configuration details (e.g., database credentials, API keys for any services you might use locally). You will need to acquire your own API keys for services like Qdrant if you intend to use them.

  4. Install Python dependencies (optional if primarily using Docker, but good for local tooling/testing):

    pip install -r requirements.txt

🚀 Running the Application

Using Docker (Recommended for local development) 🐳

  1. Build and run the services: From the project root directory (smart-assess-backend), run:

    docker compose up --build

    To run in detached mode (in the background):

    docker compose up -d --build
  2. Access the application: The API will typically be available at http://localhost:8000 (or the port configured in your Docker setup). The interactive API documentation (Swagger UI) will be at http://localhost:8000/docs.

  3. Common Docker Compose commands:

    • 📜 Check logs: docker compose logs -f
    • 🔄 Restart services: docker compose restart
    • 🛑 Stop services: docker compose down
    • 🏗️ To rebuild images and restart: docker compose up -d --build

Using Uvicorn (Directly, without Docker) ⚙️

  1. Ensure all dependencies from requirements.txt are installed in your local Python environment.
  2. Make sure your .env file is correctly configured.
  3. Start the FastAPI server:
    uvicorn app.main:app --reload
    The --reload flag enables auto-reloading when code changes are detected.

👥 Team Members

This project was made possible by the hard work and dedication of the following team members:

Thank you to the entire team for their contributions! 🎉

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages