# Django Event Scheduler
A Django-based Event Scheduling and Registration System using the built-in SQLite database and styled with Tailwind CSS.
## Features
- **Event Management**:
- List all events grouped by category.
- Filter events by category.
- View details of a single event and its attendees.
- **Registration System**:
- Register for events using name and email (no login required).
- Prevent duplicate registrations for the same event.
- Cancel registrations easily.
- **Admin Interface**:
- Manage event categories, events, and attendees.
- **Styling**:
- Responsive and modern design using Tailwind CSS.
## Models
1. **EventCategory**
- `name`: The name of the event category.
2. **Event**
- `title`: The title of the event.
- `date`: The date of the event.
- `location`: The location of the event.
- `category`: A foreign key to the `EventCategory`.
3. **Attendee**
- `name`: The name of the attendee.
- `email`: The email address of the attendee.
4. **Registration**
- `attendee`: A foreign key to the `Attendee`.
- `event`: A foreign key to the `Event`.
- `registered_on`: The date and time the registration was made (auto-generated).
## Setup Instructions
### Prerequisites
- Python 3.8+
- Django 4.0+
- Node.js (for Tailwind CSS if using `django-tailwind`)
### Installation
1. Clone the repository:
```bash
git clone https://github.com/saaya-code/DjangoEventScheduler.git
cd DjangoEventScheduler
-
Install dependencies:
pip install -r requirements.txt
-
Apply migrations:
python manage.py migrate
-
Run the development server:
python manage.py runserver
-
Access the application at
http://127.0.0.1:8000/
.
If you're using django-tailwind
for styling:
-
Install the Tailwind app:
python manage.py tailwind install
-
Start the Tailwind watcher:
python manage.py tailwind start
For static files, ensure your Tailwind CSS files are included in the static
directory.
To access the admin interface:
-
Create a superuser account:
python manage.py createsuperuser
-
Log in at
http://127.0.0.1:8000/admin/
.
- View Events: Browse events grouped by category.
- Event Details: View event details, including the list of attendees.
- Register: Register for events using your name and email.
- Admin Management: Control categories, events, and attendees through the admin interface.
DjangoEventScheduler/
├── event_scheduler/ # Main Django app
├── templates/ # HTML templates
├── static/ # Static files (Tailwind CSS, JavaScript, etc.)
├── db.sqlite3 # SQLite database
├── manage.py # Django management script
└── requirements.txt # Python dependencies
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project is licensed under the MIT License.
- Built with Django and Tailwind CSS.