Skip to content

i-ces/SmartEd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartPrep

SmartPrep is an AI-powered virtual teacher platform designed to revolutionize education. It converts standard textbooks into interactive daily lessons, providing a personalized learning experience through AI-generated content, quizzes, and a virtual assistant along with IOE/IOM entrance preparation.

Features

  • AI Content Generation: Automatically converts textbook PDFs into structured lessons and summaries.
  • Interactive Quizzes (MCQ): Generates multiple-choice questions to test understanding, complete with distractors.
  • AI Chatbot: A virtual assistant to answer student queries in real-time.
  • Performance Tracking: Visualizes student progress and performance over time.
  • Note Summarizer: Summarizes comprehensive notes for quick revision.
  • Mock Tests: Simulates exam conditions for better preparation for IOE/IOM entrance.
  • Community Features: Connects students for collaborative learning.

Tech Stack

Frontend

  • Framework: Next.js (React)
  • Styling: Tailwind CSS

Backend

  • Framework: FastAPI (Python)
  • Database and Storage: MongoDB and Cloudinary
  • AI/ML: LangChain, OpenAI

Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/SmartEd.git
    cd SmartEd
  2. Environment Setup Create a .env file in the server directory and a .env file in the client directory.

Docker Setup (Recommended)

The easiest way to run the application is using Docker Compose.

  1. Build and Run

    cd server
    docker-compose up --build

    This will start the backend server and MongoDB database.

  2. Run Frontend Open a new terminal configuration for the client:

    cd client
    npm install
    npm run dev

Manual Setup

Backend (Server)

  1. Navigate to the server directory:

    cd server
  2. Create a virtual environment and activate it:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run the server:

    uvicorn main:app --reload

    The API will be available at http://localhost:8000. API Documentation (Swagger UI): http://localhost:8000/docs

Frontend (Client)

  1. Navigate to the client directory:

    cd client
  2. Install dependencies:

    npm install
  3. Run the development server:

    npm run dev

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

Environment Variables

Server (server/.env)

Required environment variables for the backend:

MONGO_URI=mongodb://localhost:27017  # or mongodb://mongodb:27017 for Docker
DB_NAME=auth_db
JWT_SECRET=your_jwt_secret
JWT_ALGORITHM=HS256
ENV=development

# AI Services
GOOGLE_API_KEY=your_google_api_key
GROQ_API_KEY=your_groq_api_key

# Cloudinary (Image Uploads)
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

# Azure OpenAI (Optional/If used)
AZURE_OPENAI_API_KEY=your_azure_key
AZURE_OPENAI_ENDPOINT=your_azure_endpoint
AZURE_OPENAI_DEPLOYMENT=your_deployment_name
AZURE_OPENAI_API_VERSION=your_api_version

# Google Search (Optional)
GOOGLE_SEARCH_API_KEY=your_search_key
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id

Client (client/.env)

Required environment variables for the frontend:

NEXT_PUBLIC_API_URL=http://localhost:8000/api

Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5