A Django-based education platform featuring an interactive calendar system, event management, and attendee tracking.
- Interactive calendar with event visualization
- Upcoming events list
- Real-time attendee tracking
- Color-coded event status
- Responsive design using Tailwind CSS
- Python 3.8 or higher
- pip (Python package manager)
- Git
- Clone the repository
git clone <repository-url>
cd education_app- Create a virtual environment (recommended)
# On macOS/Linux
python -m venv venv
source venv/bin/activate
# On Windows
python -m venv venv
.\venv\Scripts\activate- Install required packages
pip install -r requirements.txt- Apply database migrations
python manage.py migrate- Create a superuser (admin account)
python manage.py createsuperuserFollow the prompts to create your admin username and password.
- Start the development server
python manage.py runserver- Access the application:
- Main application: http://localhost:8000
- Admin interface: http://localhost:8000/admin
- Log in to the admin interface using your superuser credentials
- Navigate to the Events section to create and manage events
- Use the Event Attendees section to manage attendance
- Go to Events in the admin panel
- Click "Add Event"
- Fill in:
- Title
- Description
- Start time (YYYY-MM-DD HH:MM:SS)
- End time
- Color (e.g., 'blue', 'green', 'red')
- Go to Event Attendees in the admin panel
- Click "Add Event Attendee"
- Select:
- Event
- User
- Status (attending/declined/pending)
education_app/
├── education_app/ # Project settings
├── home/ # Main application
├── templates/ # HTML templates
├── manage.py # Django management script
└── requirements.txt # Project dependencies
The project requires the following main packages:
- Django >= 4.2.0
- django-tailwind >= 3.8.0
- django-browser-reload >= 1.12.1
All dependencies are listed in requirements.txt
If you see "Error: That port is already in use", try:
# On macOS/Linux
sudo lsof -t -i:8000 | xargs kill -9
# On Windows
netstat -ano | findstr :8000
taskkill /PID <PID> /FIf you encounter database issues, try:
python manage.py migrate --run-syncdb- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.