Evently is a robust event management platform designed to simplify the process of organizing, discovering, and attending events. With its advanced features, intuitive interface, and dynamic workflows, Evently ensures a seamless experience for organizers and attendees alike.
Evently is a feature-rich platform built to handle event management efficiently. Below is a detailed breakdown of its key features:
-
Event Management:
- Role-based functionality:
- Organizers: Create, edit, and delete events; manage attendees.
- Attendees: Register for events, mark attendance, and rate events.
- Admins: Moderate events and users through an enhanced admin panel.
- Complex database relationships between users, events, attendees, and payments ensure scalability and dynamic workflows.
- Role-based functionality:
-
Dynamic Frontend:
- Filtering and Searching: Users can filter and search events by type, price, and status for a tailored experience.
- Pagination: Explore events in a paginated format, optimized for scalability and responsiveness.
- Dynamic Event Pages: Content adjusts based on the userβs role (organizer, attendee, or guest) and event status (upcoming, ongoing, or completed).
-
Payments and Feedback:
- Supports payment workflows for paid events, enhancing real-world applicability.
- Allows attendees to rate events dynamically, ensuring only eligible users provide feedback.
-
File Uploading:
- Profile images and event thumbnails can be uploaded and managed dynamically.
-
Profile and Settings Pages:
- A personalized profile page displays user details, organized events, attended events, and attendance statistics.
- Settings allow users to update usernames, reset passwords, and delete accounts securely.
-
Enhanced Admin Panel:
- Custom branding with an updated admin site header and title.
- Enhanced search, filtering, and display options for models in the admin panel.
- Image previews for user profile pictures.
-
Advanced Django Features:
- Utilizes properties on models for dynamic calculations, such as
is_completed
,rating
, andisfree
. - Django Messages Framework provides styled feedback for actions like successful registrations or errors.
- Django Humanize formats numbers for better readability, such as prices and attendee counts.
- Utilizes properties on models for dynamic calculations, such as
-
Mobile-Responsive Design:
- Fully responsive frontend ensures optimal usability across all screen sizes.
-
Dedicated Landing Page: The landing page serves as the first touchpoint for users, showcasing Evently's value proposition through a visually compelling design. It includes:
- Evently Logo: Prominently displayed at the top to reinforce branding.
- Hero Section: A bold headline with call-to-action buttons guiding users to explore events or host their own.
- What Evently Offers Section: Highlights core features, such as seamless event creation, vibrant community engagement, and tailored event discovery.
- Testimonials: User feedback displayed dynamically to build trust and credibility.
- Call-to-Action Section: Encourages new users to sign up with an enticing message and clear action button.
- Optimized Design: Mobile responsiveness ensures seamless usability across devices, and structured headings improve SEO.
This page effectively attracts, engages, and retains users by providing an immediate overview of the platform's strengths.
- Backend: Django (Models, Views, Authentication, Admin)
- Frontend: HTML, CSS, JavaScript, Bootstrap, Font Awesome
- Database: SQLite
π evently
βββ π asgi.py # ASGI configuration for asynchronous server
βββ π settings.py # Global Django settings
βββ π urls.py # Maps project-level URLs to app views
βββ π wsgi.py # WSGI configuration for production servers
π main
βββ π migrations # Database migration files
βββ π templates/main # HTML templates
β βββ π partials # Reusable components
β β βββ _eventcard.html # Displays compact event details in cards
β β βββ _footer.html # Footer with social links
β β βββ _header.html # Responsive navigation bar
β β βββ _messages.html # Toast notifications
β β βββ _userbadge.html # Displays user profile details
β βββ change_password.html # Change password form
β βββ change_username.html # Change username with password verification
β βββ create_event.html # Event creation form
β βββ delete_account.html # Account deletion with password confirmation
β βββ edit_event.html # Edit event form for organizers
β βββ error.html # Generic error page
β βββ event_details.html # Comprehensive event details page
β βββ explore.html # Searchable and paginated event listings
β βββ index.html # Landing page with call-to-actions
β βββ layout.html # Base layout template
β βββ login.html # User login page
β βββ payment.html # Payment page for paid events
β βββ profile.html # Displays user information and stats
β βββ settings.html # Settings for managing account actions
β βββ signup.html # Registration page for new users
β βββ update_profile.html # Profile update form
βββ π static
β βββ π assets # Logos, favicon, and hero images
β βββ π css # Stylesheets
β β βββ styles.css # Custom application-wide styles
β βββ π images # User-uploaded images (thumbnails, profiles)
β βββ π js # JavaScript files
β βββ script.js # Handles toast messages, validations, and dynamic actions
βββ π admin.py # Customized admin configurations
βββ π apps.py # Django app configuration
βββ π models.py # Database models for User, Event, Attendee, etc.
βββ π views.py # Application logic
βββ π urls.py # App-level route mappings
π db.sqlite3 # SQLite database file
π manage.py # Django management script
π requirements.txt # Dependencies for the project
π README.md # Documentation
Follow these steps to set up the project locally:
-
Clone the Repository:
git clone <repository-url> cd evently
Or download the code as a ZIP file, extract it, and open the extracted folder.
-
Create and Activate a Virtual Environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies:
pip install -r requirements.txt
-
Apply Database Migrations:
python manage.py makemigrations python manage.py migrate
-
Run the Development Server:
python manage.py runserver
-
Access the Application: Open a browser and visit
http://127.0.0.1:8000
.
- Django Humanize
- Django Messages Framework
- File Uploads in Django
- Advanced Django Admin Customization
- Search Functionality with Django
- Partial Templates for Reusability
- Custom Model Properties
- Unique Together Constraint
- Paginated Event Listings
Superuser:
- Username: admin | Password: admin
Other Users:
- Username: tonystark | Password: tony
- Username: harrypotter | Password: harry
- Username: johndoe | Password: john