Zeus is a entry level management software, build basically for meetings.
To start the projects you need to setup the development environment. Then run
python3 manage.py runserver
- 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
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.
This projects is for SummerGeek2020 challenge.
Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.
-
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. -
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. -
Create a pull request
It can't get better then this, your pull request will be appreciated.
I use an agile continuous integration methodology, so the version is frequently updated and development is really fast.
-
dev
is the development branch. -
master
is the production branch.
Steps to work with feature branch
- To start working on a new feature, create a new branch prefixed with
FEATURE
and followed by feature name. (ie.FEATURE-<feature name>
) - Once you are done with your changes, you can raise PR.
Steps to create a pull request
- Make a PR to
dev
branch. - 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.
Make sure that there is only one extra line after the file ends and remember the indentation.
Pictures of project.
Credits goes to me and other contributors