This project is a comprehensive full-stack learning platform I've built to help users explore programming concepts, prepare for interviews, and deepen their understanding of tech topics. It combines a modern React frontend with a Python FastAPI backend, leveraging AI to provide personalized learning experiences.
- Interactive Concept Exploration: Users can ask questions about programming topics and follow a guided learning path that branches based on their interests.
- Topic Learning Journeys: The platform generates personalized learning paths for any programming concept, organized by difficulty level.
- Technical Interview Preparation: Practice with AI-generated interview questions tailored to specific technologies and difficulty levels.
- LeetCode-style Problem Practice: A collection of coding challenges with AI-generated solutions and explanations.
- Project Management: Users can create and manage projects, upload relevant files, and maintain project-specific knowledge bases.
The application is split into two main components:
- A Python FastAPI backend that handles AI integration, file processing, and database operations
- A React/TypeScript frontend that provides an intuitive user interface
I've set up Docker to make deployment and development easy. Here's how to get started:
- Docker and Docker Compose installed on your system
- A valid OpenAI API key for AI functionality
Before running the containers, create a .env file in the server directory with:
OPENAI_API_KEY=your_openai_api_key_here
For development with hot-reloading:
- Navigate to the project root
- Run
docker-compose -f docker-compose.dev.yml up - The frontend will be available at http://localhost:3000
- The backend will be available at http://localhost:8000
For production:
- Navigate to the project root
- Run
docker-compose up -d - The application will be available at http://localhost:80
To stop the running containers:
- For development: Press Ctrl+C in the terminal or run
docker-compose -f docker-compose.dev.yml down - For production: Run
docker-compose down
- View logs:
docker-compose logs -f - Rebuild containers after changes to Dockerfile:
docker-compose build - Access container shell:
docker exec -it [container_name] bash
- If you encounter database issues, you may need to remove the volume:
docker-compose down -v - For permission issues with the project files directory, check folder permissions
- If the AI features aren't working, verify your OpenAI API key is correct and has sufficient credits
I'm planning to extend the platform with:
- More interactive learning tools like quizzes and exercises
- Collaborative features for team learning
- Progress tracking and learning analytics
- Support for more file types and learning resources
- Mobile-friendly UI improvements
This project combines my passion for education, AI, and software development to create a tool that I hope will help people learn more effectively. I'm excited to continue improving it and adding new features!