EnteryLog is a website made according to the problem statement SummerGeeks2020
Django==2.2.7
Python 3.6.8
pip 9.0.1 Requirements
WSL was used for this project. For installing it reffer this blog (https://docs.microsoft.com/en-us/windows/wsl/install-win10)
Tried and tested on Ubuntu
To use:-
Create a virtual environmet
$ python3 -m venv env
$ source env/bin/activate
$ pip3 install openpyxl
$ pip3 install Django
All the models, views, forms, and urls are made in Main App EnteryLog director looks like
├── db.sqlite3
├── entryLog
│ ├── __init__.py
│ ├── __pycache__
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── main
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ ├── models.py
│ ├── templates
│ ├── tests.py
│ ├── urls.py
│ └── views.py
└── manage.py
-
Details of the Visitor via a form which are http://localhost:8000/guest/entry :
- Title
- Name
- Phone Number
- Host (Only host which are available can be selected)
-
Email is sent to Host during check in and to Guest during checkout
-
A 4-digit OTP is generated which, will be used during CheckOut
-
A list of all the guest still in the office which is also used to checkout http://localhost:8000/guest/
-
Guest cannot checkin again if his previous entry is not Checkout
-
Employees can change their availablitity status. http://localhost:8000/employee/
-
View all the visits of Guest with details at http://localhost:8000/log/ which are:
- Host visited
- Check in Time
- Check out Time (If the Guest has checked out)
-
Employees can be uploaded using an EXCEL sheet Employee.xlsx at link http://localhost:8000/employee/upload
- Use the above file only for uploading data Employee.xlsx](Employee.xlsx) .
- In case of email of 2 employees are same, the file will not be uploaded
The models for them are made at main/models.py. Check Models.py
- Visitor: **Title, Name, CheckIn, Checkout, Phone number, Email, Host , Left office (True/False) ,OTP
- Employee: Title, Name, Designation, Department, Phone number, Email, Room-No, In Office (True/False)
- Visit admin panel (http://localhost:8000/admin/)
- Enter Username as
admin
and Password asadmin
To create a user yourself- Go to the folder contaning manage.py and in console type
python3 manage.py createsuperuser
- Add relevant details thereafter as displayed in console
Following code has been commented
# EMAIL_HOST = 'smtp.gmail.com'
# EMAIL_USE_TLS = True
# EMAIL_PORT = 587
# EMAIL_HOST_USER = "email@gmail.com"
# EMAIL_HOST_PASSWORD = 'Google App Password'
# DEFAULT_FROM_EMAIL = 'Test <EMAIL_HOST_USER>'
Follow this blog to create APP Password "https://support.google.com/accounts/answer/185833?hl=en"
Enter your gmail account and generate 16 digit app key to test the service. And uncomment the following code in enteryLog/settings.py
Email content in email are sent using guest_arrival.txt and guest_departure.txt
templates
├── employee_data.html
├── employee_log.html
├── form.html
├── guest_arrival.txt
├── guest_departure.txt
├── guest_log.html
├── home.html
├── log.html
└── table_home.html