This is a comprehensive Event Management System built with Django, designed to streamline the process of organizing and managing various events. It provides functionalities for managing event categories, events themselves, and participants, along with a dashboard for quick insights.
- Category Management: Create, view, update, and delete event categories.
- Event Management: Create, view, update, and delete events with details like name, description, date, time, location, and category.
- Participant Management: Register, view, update, and delete participants, linking them to events.
- Search and Filtering: Easily search for events by name or location, and filter by category or date range.
- Dashboard: An administrative dashboard providing key statistics such as total participants, total events, upcoming events, past events, and today's events.
- User-friendly Interface: Built with Tailwind CSS for a modern and responsive design.
- Backend: Python 3.x, Django 5.x
- Database: PostgreSQL (via
psycopg2-binary) - Styling: Tailwind CSS, PostCSS
- Other Python Libraries:
Pillow(for image handling),Faker(for data population),python-decouple(for environment variables),django-debug-toolbar(for development).
Follow these steps to set up the project locally:
-
Clone the repository:
git clone https://github.com/madsdev404/event_managment cd event_management -
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- Windows:
.\venv\Scripts\activate
- macOS/Linux:
source venv/bin/activate
- Windows:
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.envfile in theevent_managementdirectory (same level asmanage.py) and add your database configuration and other sensitive settings. Example:SECRET_KEY=your_secret_key_here DEBUG=True DATABASE_URL=postgres://user:password@host:port/dbnameNote: For production, ensure
DEBUGisFalseandSECRET_KEYis a strong, unique value. -
Run database migrations:
python manage.py migrate
-
Create a superuser (for admin access):
python manage.py createsuperuser
Follow the prompts to create an admin user.
-
Collect static files:
python manage.py collectstatic
-
Run the development server:
python manage.py runserver
The application will be accessible at
http://127.0.0.1:8000/.
After running the server, navigate to http://127.0.0.1:8000/ in your web browser.
- Admin Panel: Access the Django admin panel at
http://127.0.0.1:8000/admin/using the superuser credentials you created. - Dashboard: View the event dashboard for statistics.
- Manage Categories, Events, and Participants: Use the provided interfaces to perform CRUD operations.
- Search and Filter: Utilize the search bar and filter options on the event listing page.
This project is licensed under the MIT License - see the LICENSE file for details.