A Django-based event management application that allows users to create, view, and register for events.
- Event Management: Create, view, and manage events
- User Registration: Users can register and unregister for events
- Event Filtering: Filter events by upcoming, past, or all events
- Search Functionality: Search events by title, description, or location
- Attendee Limits: Set maximum attendee limits for events
- Admin Panel: Full Django admin interface for managing events and registrations
- Python 3.8 or higher
- pip (Python package manager)
-
Activate the virtual environment (if not already activated):
# On Windows (PowerShell) .\venv\Scripts\Activate.ps1 # On Windows (Command Prompt) venv\Scripts\activate # On macOS/Linux source venv/bin/activate
-
Install dependencies (if not already installed):
pip install -r requirements.txt
-
Run migrations (if not already done):
python manage.py migrate
-
Create a superuser (to access the admin panel):
python manage.py createsuperuser
Follow the prompts to create an admin user.
-
Run the development server:
python manage.py runserver
-
Access the application:
- Main app: http://127.0.0.1:8000/
- Admin panel: http://127.0.0.1:8000/admin/
mysocialeventapp/
├── eventmanager/ # Django project settings
│ ├── settings.py # Project configuration
│ ├── urls.py # Main URL configuration
│ └── ...
├── events/ # Events app
│ ├── models.py # Event and EventRegistration models
│ ├── views.py # View functions
│ ├── urls.py # App URL configuration
│ ├── admin.py # Admin configuration
│ └── templates/ # HTML templates
│ └── events/
│ ├── base.html
│ ├── event_list.html
│ ├── event_detail.html
│ └── event_create.html
├── manage.py # Django management script
├── requirements.txt # Python dependencies
└── README.md # This file
title: Event titledescription: Event descriptionlocation: Event locationstart_date: Event start date and timeend_date: Event end date and timecreated_by: User who created the eventmax_attendees: Maximum number of attendees (optional)is_active: Whether the event is activecreated_at: Creation timestampupdated_at: Last update timestamp
event: Foreign key to Eventuser: Foreign key to Userregistered_at: Registration timestamp
- View Events: Navigate to the home page to see all events
- Filter Events: Use the filter buttons to view all, upcoming, or past events
- Search Events: Use the search bar to find events by keywords
- Create Event: Click "Create Event" (requires login)
- Register for Event: Click "Register for Event" on any event detail page (requires login)
- Admin Panel: Access the admin panel to manage events and users
To make changes to the application:
- Make your changes to models, views, or templates
- If you changed models, create and run migrations:
python manage.py makemigrations python manage.py migrate
- Restart the development server to see changes
- Django 5.2.8
- Python 3
- SQLite (default database)
This project is open source and available for personal and commercial use.