Giter Site home page Giter Site logo

pranith-rao / end-to-end-event-management-system Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 30.6 MB

An innovative end-to-end event management system designed to simplify and streamline the creation, management, and updating of personal and corporate events.

Home Page: https://youtu.be/QUijwQY3nM8

Python 28.02% HTML 71.98%
cloudinary css final-year-project flask html python sqlite sweetalert javascipt sqlachemy

end-to-end-event-management-system's Introduction

EventX

Welcome to EventX, an innovative end-to-end event management system designed to simplify and streamline the creation, management, and updating of personal and corporate events, regardless of their scale. EventX aims to provide organizations with a comprehensive application that centralizes all aspects of event management, ensuring a seamless experience from start to finish.
This project was developed as the capstone of my engineering studies, serving as my Final year project.

To have a glimpse of how this website works watch this https://youtu.be/QUijwQY3nM8

Getting Started

  1. Clone this repo into your local machine and open it using VS code or any other editor of your choice.
  2. Open the terminal and create a virtual environment using the command "python -m venv yourenvname".
  3. Activate the virtual env created using the command "yourenvname\Scripts\activate".
  4. Once activated, install all the packages using the command "pip install -r requirements.txt".
  5. Once all packages are installed create a .env file to two variables namely EMAIL & SECRET_KEY (This will be the email and it's secret key that you will be using to send emails). Steps to setup this is given below
  6. Now you are ready to run the application. Type 'py app.py' in the terminal and hit enter.
  7. A link like http://127.0.0.1:9876/ will pop up in the terminal. Press Ctrl and click on the link to open it in the browser to see the landing page of the application.
  8. Note! Since we are using SQLite for database management you need to uncomment line 160(db.create_all()) in app.py the first time you run the command "py app.py" so that the tables are created. Comment the line once the tables are created so that new tables are not created again and again whenever you perform an action.

Mail Auth

To set up the app password for the Gmail ID you will be used for sending emails:

  1. Enable 2-factor authentication on your mail ID.
  2. Go to this website https://myaccount.google.com/apppasswords
  3. Enter the app name you wish and a app password will be created. You have to use this as the secret key and paste it in the .env file.
  4. Yea! You are all set to send alerts using the mailing services.

Operations that can be performed

Main Admin

  1. Access to this is not given directly on UI like others. Append '/admin_log' to the home url to access the main admin login page.
  2. Credentials for the main admin are hard coded. Use '[email protected]' and 'event123' as credentials to log in.
  3. Add organization and organizer and notify the same via email respectively.
  4. View the list of organization and organizer added.

Organizer

  1. Has to use his/her email and email as the password for the first login(As mentioned on the mail).
  2. Change their password.
  3. Update his/her Profile.
  4. Add co-organizers first and then the events so that each event can be assigned a co-organzier to manage them.
  5. Update & delete the events if necessary.
  6. View the list of co-organziers and events added.
  7. Broadcast announcements to guests and other VIPs using send alerts.
  8. View payemnts made by the participants while registering for events.
  9. Recover their password by using the forgot password on the login page.

Co-Organizer

  1. Has to use his/her email and email as the password for the first login(As mentioned on the mail).
  2. Change their password.
  3. Update his/her Profile.
  4. Add judges and assign them to the alloted events.
  5. Update & delete the judge assignment if necessary.
  6. View the list of events alloted.
  7. Broadcast announcements to the registered participants using send alerts.
  8. Issue certificates to participants of respective events.
  9. Recover their password by using the forgot password on the login page.

Participant

  1. Register and log in.
  2. Update his/her profile.
  3. Change their password if needed.
  4. View the list of available events.
  5. Register for events and make payments of entry fee.
  6. View the list of registered events and unregister if necessary.
  7. View results.
  8. Recover their password by using the forgot password on the login page.

Judge

  1. Has to use his/her email and email as the password for the first login.
  2. Change their password.
  3. Update his/her Profile.
  4. Enter the scores in the judging panel.
  5. Recover their password by using the forgot password on the login page.

Snapshots

Home Page

Screenshot (1989)

Main Admin Login

Screenshot (1990)

Main Admin Dashboard

Screenshot (1991)

List of Organizations

Screenshot (1992)

List of Organizers

Screenshot (1992)

Mail Notification on Successfull addition of Organization & Organizer

Screenshot (2019) Screenshot (2020)

Organizer Dashboard

Screenshot (1994)

Add Co-Organzier

Screenshot (1997)

Add Events

Screenshot (1996)

List of Events

Screenshot (1995)

Mail Notification on co-organizer getting added & event getting alloted

Screenshot (2021) Screenshot (2022)

Send Announcements

Screenshot (1998)

Razorpay Payment Dashboard

Screenshot (1999)

Update Profile

Screenshot (2000)

Change Password

Screenshot (2001)

Co-Organizer Dashboard

Screenshot (2002)

Alloted Events List

Screenshot (2003)

View & Update Event

Screenshot (2004)

Add Judge

Screenshot (2005)

Send Announcements to Participants

Screenshot (2006) Screenshot (2007)

Issue Certificates

Screenshot (2008)

Mail Notification of event getting alloted to judge & certificate being sent & received by the participants

Screenshot (2023) Screenshot (2027)

Participant Registration

Screenshot (2017)

Participant Dashboard

Screenshot (2009)

Available Events List

Screenshot (2010)

Payment Gateway

Screenshot (2011)

Registered Events List

Screenshot (2012)

View Results

Screenshot (2013)

Mail Notification on successfull Participant Registration & Payment

Screenshot (2024) Screenshot (2026)

Participant QR on Registration

QR

Judge Dashboard

Screenshot (2014)

Judging Panel

Screenshot (2015)

OTP Mail Notification for Forgot Password Functionality

Screenshot (2025)

Sweet Alerts for every action performed

Screenshot (2016) Screenshot (2018)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.