Stay updated and dive deeper into the project!
- π Wiki Page β Project overview, documentation, and important guides.
- π οΈ Development Setup β Get started with setting up your development environment.
- π€ Contributing Guidelines β Learn how to contribute and collaborate with us.
- π Docs β Comprehensive documentation for developers and users.
- π Dev Log β Track our development journey and major updates.
- Project Overview
- Live Demo
- Team
- Key Features
- System Architecture
- Database Design
- Tech Stack
- Getting Started
- Development Guidelines
- Testing
- CI Integration
- Contributing
- Git Workflow
- License
BiddyaPeeth is an advanced, next-generation EdTech platform built with Django and Tailwind CSS, designed to revolutionize digital learning experiences.
It offers a modern, scalable, and student-centric environment for online education, empowering both learners and instructors with seamless tools for engagement and management.
- Role-based dashboards tailored for students, teachers, and administrators.
- Comprehensive course management β from course creation to enrollment and content delivery.
- Live virtual classrooms with real-time video conferencing, chat, polls, and screen sharing.
- Integrated payment solutions enabling access to premium educational services.
- Dynamic community forums for collaborative learning and peer interactions.
- Scalable and device-friendly design for accessibility across devices.
Traditional education platforms often suffer from:
- β Poor user experience.
- β Limited real-time interaction capabilities.
- β Lack of modern design and scalability.
BiddyaPeeth solves these challenges by offering:
- Seamless course and user management.
- A modern Tailwind CSS frontend.
- Fast deployment with Docker and Kubernetes-ready architecture.
- Real-time communication tools to foster active learning environments.
- The global EdTech market is projected to reach $404 billion by 2025.
- Increasing demand for virtual education and interactive learning tools worldwide.
Experience Biddyapeeth in action by visiting our live demo:
Explore the platform's features and see how it transforms real-time learning into an interactive, seamless experience.
| Module | Purpose |
|---|---|
| Accounts | User Authentication and Profile |
| Courses | Course Creation, Enrollment |
| Dashboard | Role-Based Dashboards (Student, Teacher) |
| Forums | Community Discussions |
| Lecture | Lecture and Assignment Management |
| Live Classes | Live Video Integration |
| Payments | Payment and Billing |
-
Authentication π
- User logs in or registers.
- Role check (Student / Teacher / Admin).
-
Student Flow π
- Browse and view courses.
- If not enrolled β Payment β Enrollment.
- Access course content (Lectures, Materials, Assignments, Live Classes).
- Participate in community forums (Post, Reply).
-
Teacher Flow π©βπ«
- Manage content (Create/Edit Courses, Upload Lectures, Create Assignments).
- Schedule and conduct live classes.
- Grade student submissions.
- Use live virtual classroom (Video, Chat, Screen Share, Polls).
-
Admin Flow π οΈ
- Manage users, approve courses, handle payments, and adjust site settings.
- Moderate forum activity.
-
Live Interaction & Assessment π‘
- Real-time classes and course completion.
mindjunkies/
βββ accounts/
βββ courses/
βββ dashboard/
βββ forums/
βββ home/
βββ lecture/
βββ live_classes/
βββ payments/
βββ static/
βββ templates/
project/
βββ settings/
| βββ base.py
| βββ development.py
| βββ production.py
βββ logging.py
βββ urls.py
config/ # JWT and Tokens
k8s/ # Kubernetes Deployment Files
docs/ # Documentation
Dockerfile
manage.py
.. # Other filesFollow these steps to set up the project locally:
- Python 3.11+
- uv (Python dependency manager)
- PostgreSQL / SQLite
- Docker & Docker Compose (Redis, Elasticsearch)
-
Clone the repository:
git clone https://github.com/Learnathon-By-Geeky-Solutions/mindjunkies cd mindjunkies -
Install dependencies:
pip install uv uv sync
-
Start development:
cp .env.example .env # Modify the environment variables docker compose -f docker-compose.elasticsearch_redis.yml up -d # Start Redis and Elasticsearch uv run python manage.py migrate # Run migrations uv run python manage.py createsuperuser # Create a superuser uv run python manage.py runserver # Start the Django server uv run python manage.py tailwind watch # Start Tailwind CSS # You can use make commands as well make migrate # Run migrations make createsuperuser # Create a superuser make tailwind # Start Tailwind CSS make runserver # Start the Django server
-
Open http://localhost:8000 in your browser.
# Build and start containers
docker-compose up --buildTo maintain consistency and quality across the codebase, we follow these development best practices:
- Follow PEP8 standards.
- Use Black for code formatting:
black . - Use Pre-commit hooks:
pre-commit install pre-commit run --all-files
- Use
flake8,isort, andblackas part of your local pre-commit workflow. - Monitor code quality via SonarCloud for:
- Maintainability
- Code smells
- Security vulnerabilities
- Use feature branches:
feature/your-feature-name - Follow conventional commit messages:
e.g.,feat: add live class scheduling UI - Always submit Pull Requests (PRs) with:
- Clear descriptions
- Screenshots (if UI-related)
- Linked issues (if applicable)
Testing is critical for ensuring stability and quality across deployments.
- pytest for unit testing
- coverage for tracking test coverage
- Model-Bakery for creating test data
uv run pytestuv run coverage run -m pytest
uv run coverage report -mBiddyaPeeth employs a robust CI/CD pipeline to ensure seamless integration and deployment using:
- GitHub Actions: Automates testing, building, and deployment processes.
- Docker: Containerizes the application for consistent environments.
- DigitalOcean Kubernetes: Manages scalable deployments in a cloud-native environment.
- DigitalOcean Container Registry: Stores and manages Docker images securely.
- Code Push: Developers push code to the GitHub repository.
- CI Process:
- Run linting and tests using
pytest. - Build Docker images.
- Push images to DigitalOcean Container Registry.
- Run linting and tests using
- CD Process:
- Deploy updated images to DigitalOcean Kubernetes cluster.
- Apply Kubernetes manifests for deployment.
- Monitor deployment status and rollbacks if necessary.
To set up the CI/CD pipeline: CI/CD to automate deployments to Kubernetes on DigitalOcean ...
-
GitHub Secrets:
DOCKER_USERNAME: Your Docker Hub username.DOCKER_PASSWORD: Your Docker Hub password or access token.DIGITALOCEAN_ACCESS_TOKEN: Personal access token for DigitalOcean API.KUBE_CONFIG_DATA: Base64 encoded Kubernetes config file.
-
Workflow File: Located at
.github/workflows/build.yml.
For a detailed guide, refer to DigitalOcean's documentation on deploying with GitHub Actions: How to Enable Push-to-Deploy on DigitalOcean Kubernetes Using ...
We welcome contributions!
Please read our CONTRIBUTING.md for more information on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.



