Code Monkey home page Code Monkey logo

entry_management_app's Introduction

Entry Management App

Open Issues Forks Stars Maintained Made with Django Open Source Love Built with Love

Index

About

Entry Management App is a web application that can be used at entry-points at several places, partcularly targetting offices where it needs to digitalize their process of maintaining records of visitors and visits. The application keeps the users updated about entry and exit of the visit through text messages and mails.

Workflow

The App comprises of three types of Users: Managers, Employees/Hosts and Visitors.

Managers can create New Hosts by entering their email in the application. The app generates and sends a unique sign-up link to the person [The token used with unique sign-up link is stored as hash using bcrypt in DB].

Once a host successfully signs up in the application, visitors can select one of the host on New Visit page. Any person except people from management can fill the New Visit form which triggers notifications to Hosts on Check-In.

The New Visit Form looks for the free slots of the intended Host and indicates error on the New Visit form if tried to book a visit when the host is busy.

Check-out of a visit can be done from both Host and Visitor ends. As soon as the visit is checked out, an email is sent to the Visitor informing about all the details of the Visit.

Tech Stack Used

The application backed by Django framework and for its back-end and uses SQLite3 as database to store data. It also makes use of Twilio APIs to send SMS to Hosts of the Visit. The front-end of the application is written in HTML and CSS and uses AJAX calls with forms for auto-completion.

Usage

If you just want to do a simple test run of the application, just follow these steps:

  • Clone the repository
$ git clone https://github.com/Vibhu-Agarwal/Entry_Management_App.git
  • Install dependencies by using the following commands.
$ cd Entry_Management_App
$ pip install -r requirements.txt
$ cd event_manager
  • Get credentials and a trial number Twilio.

  • Make sure 2FA is disabled on your mail account and Less secure app access is turned on.

  • Edit the values of variables in the set_env_vars file and save the changes.

export EM_EMAIL_HOST_USER="YOUR_(G)MAIL_ID"
export EM_EMAIL_HOST_PASSWORD="YOUR_(G)MAIL_PASSWORD"
export EM_TWILIO_ACCOUNT_SID="YOUR_TWILIO_ACCOUNT_SID"
export EM_TWILIO_AUTH_TOKEN="YOUR_TWILIO_ACCOUNT_AUTH_TOKEN"
export EM_TWILIO_NUMBER="YOUR_TWILIO_SENDER_NUMBER"

NOTE: If you wish to skip creating TWILIO credentials, set ALLOW_SMS in settings.py to False! `

  • After filling out the correct values of the variables, run this to export them.
$ source set_env_vars
  • Apply migrations and set up your initial database.
$ python manage.py makemigrations
$ python manage.py migrate
$ python manage.py em_setup
  • Finally run the application using
$ python manage.py runserver

Start off by appointing Hosts for your workplace!

Initial Admin email: [email protected]
Initial Admin password: Same as EM_EMAIL_HOST_PASSWORD value.
Initial Manager email: [email protected]
Initial Manager password: Same as EM_EMAIL_HOST_PASSWORD value.

File Structure

Entry_Management_App/
├── event_manager
│   ├── api
│   │   ├── urls.py
│   │   └── views.py
│   ├── event_manager
│   │   ├── settings.py
│   │   └── urls.py
│   ├── management
│   │   ├── forms.py
│   │   ├── mailing.py
│   │   ├── messaging.py
│   │   ├── migrations
│   │   ├── models.py
│   │   ├── serializers.py
│   │   ├── templates
│   │   ├── urls.py
│   │   └── views.py
│   ├── manage.py
│   ├── media
│   │   └── static
│   ├── set_env_vars
│   ├── static
│   │   └── css
│   ├── templates
│   ├── users
│   │   ├── forms.py
│   │   ├── migrations
│   │   ├── models.py
│   │   ├── permissions.py
│   │   ├── serializers.py
│   │   ├── templates
│   │   ├── urls.py
│   │   └── views.py
│   └── visit
│       ├── forms.py
│       ├── migrations
│       ├── models.py
│       ├── serializers.py
│       └── views.py
├── LICENSE
├── README.md
└── requirements.txt

Gallery

Credit/Acknowledgment

Contributors

License

License

Icons

Meeting time Icon by Iconscout Freebies
Podium Icon by Jemis Mali
Schedule Icon by Iconscout Freebies on Iconscout
Email Icon by Promotion King on Iconscout

entry_management_app's People

Contributors

dependabot[bot] avatar imgbotapp avatar vibhu-agarwal avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.