An Entry Management software
When a Visitor visits the event, he/she needs to fill his/her details like Name, Phone, and Email. If there is no host available or email doesn't exist (we are using Py3DNS
to validate email) or Visitor has already checked-in or database server is down then the software will throw a respective error. If everything works well, then it will assign a random available host to that visitor and these records will be stored in the database using timestamp (Datetime
). A message will be generated having all details of Visitor and an Email (using flask_mail
)and SMS
(using Twilio
) will be sent to the respective Host.
The host will add all his/her details like Name, Phone, and Email. We are validating email through Py3DNS
and phone no through phonenumbers
an API of google phone's directory. If everything works fine, It will redirect to a success message otherwise it will throw the respective error.
When Visitor is checking out, we are asking for his/her Email id (Primary Key
). We are fetching his/her details including respective host information. If he/she has already checked out, then it will throw an error. As soon as a person checked out we are sending an email to a visitor having details (Name, Phone, Check-in time, Check-out time, Host Name, Address Visited
).
This software is already deployed on PythonAywhere. Give it a try
- HTML, CSS, JS - Front End
- MySql - Database(flask_mysqldb)
- Flask - Python Backend Engine
- Jinja - Templating Engine
git clone https://github.com/weirdolucifer/Innovaccer_summergeeks
If you don't have installed pip, use pip3 for installation
sudo apt-get install python3-pip
Set up a virtual environment and activate it to avoid dependency issues.
virtualenv venv
.venv/bin/activate
Install the required dependencies using the following command
pip3 install -r requirements.txt
database setup/importing database:
CREATE DATABASE innovaccer;
mysql -u [username] -p innovaccer < innovaccer.sql
.env file set up / replace in app.py headers
TWILIO_ACCOUNT_SID='your_account_sid'
TWILIO_AUTH_TOKEN='your_account_auth_token'
MYSQL_HOST = 'localhost'
MYSQL_USER = 'root'
MYSQL_PASSWORD = 'your_password'
MYSQL_DB = 'innovaccer'
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 465
MAIL_USE_TLS = False
MAIL_USE_SSL = True
MAIL_USERNAME = 'your_gmail_id'
MAIL_PASSWORD = 'your_app_password_generated_by_gmail_after_two_factor_login'
MAIL_DEFAULT_SENDER = 'your_gmail_id'
Run the following command to set up local server
python3 app.py
Navigate to http://localhost:5000