Skip to content

Javabutdif/Lessora-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

89 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Lessora AI

Lessora AI logo

Lessora AI is an AI-powered educational platform designed to help teachers create organized, professional, and curriculum-ready lesson plans in minutes. By transforming simple teacher inputs into structured lesson plans, activities, objectives, and assessments, Lessora AI reduces preparation time and allows educators to focus more on teaching and student engagement.

🎯 Overview

Lessora AI provides teachers with multiple ways to access AI-powered lesson planning:

  • Mobile App: React Native mobile application for iOS and Android
  • Web Portal: React-based web application for browser access
  • Admin Dashboard: Administrative interface for user management

The platform uses OpenAI's GPT models to generate comprehensive, curriculum-aligned lesson plans from minimal teacher input.

✨ Key Features

For Teachers

  • AI-Powered Lesson Generation: Create complete lesson plans from topic, grade level, duration, and learning goals
  • Multiple Templates: Support for various lesson plan formats including DepEd semi-detailed templates
  • Lesson Plan History: View, edit, and reuse previously generated lesson plans
  • Document Export: Export lesson plans in DOC, PDF, and DOCX formats
  • User Authentication: Secure account registration and login
  • AI Response Credits: Fair usage system with credit-based generation limits
  • Mobile & Web Access: Use the mobile app or web portal based on preference

For Administrators

  • User Management: Create, view, and manage teacher accounts
  • Admin Dashboard: Monitor platform usage and user activity
  • Separate Admin Portal: Dedicated administrative interface

πŸ—οΈ Architecture

Lessora AI follows a client-server architecture with three main components:

Client Applications

Mobile App (client-side/)

  • Technology: React Native with Expo SDK 54.0.0
  • UI Framework: NativeWind (Tailwind CSS for React Native)
  • Navigation: React Navigation with bottom tabs
  • Key Screens:
    • Onboarding and authentication
    • Dashboard with recent plans
    • Lesson plan generation
    • History and preview
    • Export functionality

Web Portal (client-side-admin/)

  • Technology: React 18 + TypeScript + Vite
  • Styling: Tailwind CSS
  • Features:
    • User portal for teachers (login, register, generate, history)
    • Admin portal for user management
    • Responsive design for desktop and mobile browsers

Server (server-side/)

  • Technology: Node.js + Express + TypeScript
  • Database: MongoDB with Mongoose ODM
  • Authentication: JWT tokens with bcrypt password hashing
  • AI Integration: OpenAI API (GPT-4o-mini)
  • Architecture Pattern: Routes β†’ Controllers β†’ Services β†’ Schemas/Models

API Structure

/api/auth          - User authentication (register, login)
/api/admin         - Admin operations (user management)
/api/ai            - AI lesson plan generation and history

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm
  • MongoDB instance (local or cloud)
  • OpenAI API key
  • Expo CLI (for mobile development)

Installation

  1. Clone the repository

    git clone <repository-url>
    cd lessora-ai
  2. Install dependencies

    # Install root dependencies
    npm install
    
    # Install server dependencies
    cd server-side
    npm install
    
    # Install mobile app dependencies
    cd ../client-side
    npm install
    
    # Install web portal dependencies
    cd ../client-side-admin
    npm install
  3. Configure environment variables

    Create .env files in the server-side/, client-side/, and client-side-admin/ directories.

    See Environment Configuration for detailed setup instructions and security guidelines.

  4. Start the development servers

    # Terminal 1: Start the backend server
    cd server-side
    npm run dev
    
    # Terminal 2: Start the mobile app
    cd client-side
    npm start
    
    # Terminal 3: Start the web portal
    cd client-side-admin
    npm run dev

Quick Start with Scripts

The repository includes bootstrap scripts for quick setup:

PowerShell (Windows)

./scripts/bootstrap.ps1

Bash (macOS/Linux)

./scripts/bootstrap.sh

πŸ› οΈ Development Workflow

Project Structure

lessora-ai/
β”œβ”€β”€ client-side/          # React Native mobile app
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/   # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ context/      # React contexts (Auth, Loading)
β”‚   β”‚   β”œβ”€β”€ navigation/   # Navigation configuration
β”‚   β”‚   β”œβ”€β”€ screens/      # Screen components
β”‚   β”‚   β”œβ”€β”€ services/     # API service layer
β”‚   β”‚   └── utils/        # Utility functions
β”‚   └── App.tsx           # App entry point
β”œβ”€β”€ client-side-admin/    # React web portal
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/   # Shared components
β”‚   β”‚   β”œβ”€β”€ pages/        # Page components
β”‚   β”‚   └── services/     # API service layer
β”‚   └── index.html        # Web entry point
β”œβ”€β”€ server-side/          # Node.js backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/  # Request handlers
β”‚   β”‚   β”œβ”€β”€ middleware/   # Express middleware
β”‚   β”‚   β”œβ”€β”€ routes/       # API routes
β”‚   β”‚   β”œβ”€β”€ schemas/      # Mongoose & Zod schemas
β”‚   β”‚   β”œβ”€β”€ services/     # Business logic
β”‚   β”‚   └── config/       # Configuration files
β”‚   └── server.ts         # Server entry point
β”œβ”€β”€ docs/                 # Documentation
β”‚   β”œβ”€β”€ ai/              # AI agent documentation
β”‚   β”œβ”€β”€ specs/           # Feature specifications
β”‚   └── plans/           # Implementation plans
└── scripts/             # Automation scripts

Making Changes

For any feature work involving client-server communication:

  1. Read the documentation

    • docs/ai/commands.md - Available commands
    • docs/ai/standards.md - Coding standards
    • docs/ai/lessora-structure-workflow.md - API development workflow
  2. Create task artifacts

    npm run workflow -- scaffold --slug <topic> --artifacts bundle
  3. Follow the layer order

    • Server: Routes β†’ Controllers β†’ Services β†’ Schemas/Models
    • Client: Screens β†’ Services β†’ API
  4. Validate your changes

    # PowerShell
    ./scripts/check.ps1
    
    # Bash
    ./scripts/check.sh

Testing

# Run all validation checks
npm run workflow -- check

# Type checking
cd client-side && npx tsc --noEmit
cd server-side && npx tsc --noEmit

# Run tests (when available)
npm test

πŸ“š Documentation

Task Management

The project uses a structured workflow for managing development tasks:

  • Specs (docs/specs/) - What should change and why
  • Plans (docs/plans/) - How the work will be carried out
  • Tasks (docs/ai/tasks/) - Current execution state

Use the workflow CLI to manage these artifacts:

npm run workflow -- scaffold --slug <topic> --artifacts bundle
npm run workflow -- check
npm run workflow -- finalize

πŸ”‘ Key Technologies

  • Frontend: React Native (Expo), React, TypeScript, Tailwind CSS, NativeWind
  • Backend: Node.js, Express, TypeScript, MongoDB, Mongoose
  • AI: OpenAI API (GPT-4o-mini)
  • Authentication: JWT, bcrypt
  • Validation: Zod
  • Development: Vite, Metro bundler, ESLint, Prettier

🀝 Contributing

  1. Read the documentation in docs/ai/
  2. Follow the structure workflow in docs/ai/lessora-structure-workflow.md
  3. Create task briefs for non-trivial changes
  4. Run validation checks before committing
  5. Keep changes focused and well-documented

πŸ“„ License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

πŸ‘₯ Contributors

  • Jims

Note: This is an active development project. Features and documentation are continuously evolving. Always refer to the latest documentation in the docs/ directory for current implementation details.

About

Lessora AI is an AI-powered educational platform designed to help teachers create organized, professional, and curriculum-ready lesson plans in minutes. By transforming simple teacher inputs into structured lesson plans, activities, objectives, and assessments, Lessora AI reduces preparation time and allows educators to focus more on teaching.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors