/Zeus

Zeus - The entry manager

Primary LanguagePythonMIT LicenseMIT

Maintained Made with Python Open Source Love Built with Love Follow Me Telegram

📒 Index

🔰 About

Zeus is a entry level management software, build basically for meetings.

⚡ Usage

📦 Commands

To start the projects you need to setup the development environment. Then run

python3 manage.py runserver

🔧 Development

📓 Pre-Requisites and Development Enviroment

  • Install a virtual environment
python3 -m venv <name of virtual env>
  • Activate the virtual environment
source <source folder>/<name of virtual env>/bin/activate
  • Clone the project and move into the project folder
git clone https://github.com/nightwarrior-xxx/Zeus.git
cd Zeus
  • Install requirements
pip install -r requirements.txt
  • Create a DB and User
sudo su - postgres
psql

Now, we will create a DB for our App then a user which has privileges to access the DB

CREATE DATABASE myproject;
CREATE USER myprojectuser WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;
  • Now setup DB releated stuff i.e host, name, db_name and password in zeus/settings.py using environment variables.

  • Make an account on SendGrid and setup API_KEY again in the setting of the app.

  • Create an account on Twilio as well. Generate a Twilio Phone Number and setup AUTH_TOKEN, ACCOUNT_SID and PHONE NUMBER in your app settings.

  • Move into the source folder i.e zeus and run

python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver

🔰 Insights and Workflow

Once the host registers, the host then next has to Login to start the meeting. On logging-in the Guest CheckIn page will be there, guests can checkIn. Suppose the guest checkedIn and wants to checkOut, guest need to go through checkOut page, just to make sure no other guest checks-out instead of other. At the Backend, once the Guest enters the information in the form, the backendb(postgresql) stores all of the information with time stamp of the entry. It also triggers an email(with help of SendGrid) and an SMS(with help of Twilio) to the host informing him of the details of the visitor. Also, it has a provision automatic checkout time. This also triggers an email to the guest which contains details of host(name) and guest. The BackEnd also handles many things like when a user re-register and in future perspecitive I would also like add hosting meeting through tokenisation.

SummerGeek

This projects is for SummerGeek2020 challenge.

🌸 Community

🔥 Contribution

Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.

  1. Report a bug
    If you think you have encountered a bug, and I should know about it, feel free to report by making an issue and I will take care of it.

  2. Request a feature
    You can also request for a feature. Just make an issue, and if it will viable, it will be picked for development.

  3. Create a pull request
    It can't get better then this, your pull request will be appreciated.

🌵 Branches

I use an agile continuous integration methodology, so the version is frequently updated and development is really fast.

  1. dev is the development branch.

  2. master is the production branch.

Steps to work with feature branch

  1. To start working on a new feature, create a new branch prefixed with FEATURE and followed by feature name. (ie. FEATURE-<feature name>)
  2. Once you are done with your changes, you can raise PR.

Steps to create a pull request

  1. Make a PR to dev branch.
  2. Comply with the best practices and guidelines e.g. where the PR concerns visual elements it should have an image showing the effect.

After this, changes will be merged.

❗ Guideline

Make sure that there is only one extra line after the file ends and remember the indentation.

📷 Gallery

Pictures of project.

Front Page

Font Page

Host Registration Page

Host Register

Host Login Page

Host Login

Guest Check In

Guest

Guest Checkout

Guest checkout

Saved Guest Data

Guest Data Saved

Email Sent to Host

Email sent to host

SMS sent to Host

SMS sent to host

Email sent to Guest

Email sent to host

🌟 Credit/Acknowledgment

Credits goes to me and other contributors

🔒 License

LICENSE