Skip to main content

LearnFlow Documentation

Welcome to LearnFlow, a modern, full-stack Learning Management System (LMS) built with React, FastAPI, PostgreSQL, and MongoDB.

What is LearnFlow?

LearnFlow is a comprehensive Learning Management System that enables administrators to create and manage courses while allowing learners to browse, enroll, and track their progress through lessons. The system implements role-based access control with two primary roles: Admin and Learner.

Key Features

For Learners

  • 📚 Browse and search courses by category and level
  • 🎯 Track learning progress with visual indicators
  • 📖 Interactive lesson viewer (video and text content)
  • 🏆 Course leaderboards
  • 💬 Course discussions and Q&A
  • 💬 Direct messaging with instructors
  • 🌙 Dark/Light theme support
  • 📱 Fully responsive design

For Administrators

  • 📊 Comprehensive analytics dashboard
  • 📝 Course creation and management
  • 📖 Lesson management with multiple content types
  • 👥 User management with role-based access
  • 📋 Audit logs for security and compliance
  • 📈 Platform insights and reporting
  • 📅 Activity reports and trends

Tech Stack

Frontend

TechnologyPurpose
React 19UI Component Library
ViteBuild Tool & Development Server
React RouterClient-side Routing
Tailwind CSSUtility-first CSS Framework
Framer MotionAnimations & Transitions
Lucide ReactIcon Library

Backend

TechnologyPurpose
FastAPIModern Python Web Framework
SQLAlchemySQL ORM Toolkit
PostgreSQLRelational Database (Users, Courses)
MongoDBNoSQL Database (Content, Progress)
JWTToken-based Authentication
bcryptPassword Hashing
slowapiRate Limiting

DevOps

TechnologyPurpose
DockerContainerization
Docker ComposeMulti-container Orchestration

Quick Start

Get started with LearnFlow in minutes:

# Clone the repository
git clone <your-repo-url>
cd learnflow_app

# Create .env file with environment variables
# Start all services with Docker Compose
docker compose up --build

The application will be available at:

Documentation Structure

This documentation is organized into the following sections:

Project Overview

LearnFlow demonstrates full-stack development skills including:

  • ✅ Full-stack implementation with React frontend and FastAPI backend
  • ✅ Dual-database architecture (PostgreSQL + MongoDB)
  • ✅ JWT-based authentication with role-based access
  • ✅ RESTful API design with comprehensive documentation
  • ✅ Docker Compose for easy deployment
  • ✅ Audit logging for security and compliance
  • ✅ Clean, modular code structure

Getting Help

If you need help or have questions:

  1. Check the Getting Started guide
  2. Review the API Reference for endpoint details
  3. Explore the Architecture documentation
  4. Explore the Security documentation

License

This project is for demonstration purposes as part of a technical assessment.