A modern, feature-rich education platform built with Django and Tailwind CSS that enables seamless learning experiences through course creation, peer connections, study groups, and interactive forums.
Alpha One Labs is an education platform designed to facilitate both learning and teaching. The platform provides a comprehensive environment where educators can create and manage courses, while students can learn, collaborate, and engage with peers. With features like study groups, peer connections, and discussion forums, we aim to create a collaborative learning environment that goes beyond traditional online education.
- 📚 Course enrollment and management
- 👥 Peer-to-peer connections and messaging
- 📝 Study group creation and participation
- 💬 Interactive discussion forums
- 📊 Progress tracking and analytics
- 🌙 Dark mode support
- 📱 Responsive design for all devices
- 📝 Course creation and management
- 📊 Student progress monitoring
- 📈 Analytics dashboard
- 📣 Marketing tools for course promotion
- 💰 Payment integration with Stripe
- 📧 Email marketing capabilities
- 🔔 Automated notifications
- 🔒 Secure authentication system
- 🌐 Internationalization support
- 🚀 Performance optimized
- 📦 Modular architecture
- ⚡ Real-time updates
- 🔍 Search functionality
- 🎨 Customizable UI
- Python 3.10+
- Django 4.x
- Celery for async tasks
- Redis for caching
- PostgreSQL (production) / SQLite (development)
- Tailwind CSS
- Alpine.js
- Font Awesome icons
- JavaScript (Vanilla)
- Docker support
- Nginx
- Gunicorn
- SendGrid for emails
- Stripe for payments
- Python 3.10 or higher
- pip or poetry for package management
- Node.js and npm (for Tailwind CSS)
- Git
-
Clone the repository
git clone https://github.com/yourusername/education-website.git cd education-website
-
Set up a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
# Using pip pip install -r requirements.txt # Using poetry poetry install
-
Set up environment variables
cp .env.sample .env # Edit .env with your configuration
-
Run migrations
python manage.py migrate
-
Create a superuser
python manage.py createsuperuser
-
Create test data
python manage.py create_test_data
-
Run the development server
python manage.py runserver
-
Visit http://localhost:8000 in your browser
Copy .env.sample
to .env
and configure the variables.
- Follow PEP 8 guidelines for Python code
- Use Black for code formatting
- Use isort for import sorting
- Follow Django's coding style guide
- Use ESLint for JavaScript code
- Create a new branch for each feature/bugfix
- Follow conventional commits for commit messages
- Submit pull requests for review
- Ensure all tests pass before merging
- Write unit tests for new features
- Run tests before committing:
python manage.py test
We use pre-commit hooks to ensure code quality:
pre-commit install
pre-commit run --all-files
- Document all new features and API endpoints
- Update README.md when adding major features
- Use docstrings for Python functions and classes
- Comment complex logic
We welcome contributions! Please see our Contributing Guidelines for details on how to submit pull requests, report issues, and contribute to the project.
If you encounter any issues or need support, please:
- Search existing Issues
- Create a new issue if your problem persists
- Thanks to all contributors who have helped shape this project
- Built with ❤️ by the Alpha One Labs team