Skip to content

rohg007/Entry-Exit_Register

Repository files navigation

Innovaccer_Assignment

Innovaccer's SummerGeeks 2020 Assignment

Login Screen Make Entry Current Entries Past Entries Entry Details Add Host Sample Mail Sample Message Database 1 Database 2

Description

This is an entry management software as a part of Innocaccer's SummerGeeks 2020. Multiple clients can use this application with each client having exclusive access to only his data. Here, you can maintain the list of host/employees and manage visitor entry/exit system. You can the past and presently running entries in the app itself.

Compatible Platforms - Android OS

Backend - Firebase NoSQL

Other APIs - JAVAMail (for auto mailing using JAVA), FirebaseAuthentication (for Email & Password) based authentication

Approach

This is an entry management software requiring basic initial configurations.

  • First inference taken out of the assignment is to make the data independent for multiple clients. That is suppose Innovaccer and some other company is using this app. Then innovacer can only view its data and other company can only view its data.
  • Second inference taken out of the problem statement is that adding hosts will be a part of initial configuration. Visitor only need to choose the host rather than entering the host details.
  • Third inference is that this will be a public register meaning each visitor won't have to authenticate itself.
  • Application Flow

    1. Application checks if user already logged in or not
      • If not logged in, ask admin to login
      • Otherwise, direct to MainActivity
    2. To add a host
      • Access AddHost section by clicking on Floating Action Button (+) on MainActivity
      • Fill in valid details
      • Click on Submit Button and the host will be added.
    3. To Check-In
      • Access MakeEntry section on MainActivity
      • Fill in valid details
      • Click on Submit Button and you'll be asked to select a host.
      • Select a host and check-in is done. Host will recieve an SMS and an Email.
    4. Running Entry
      • An entry once made and not checked out can be viewed in Running Entry Section of MainActivity
    5. To Check-Out
      • Access Running Entry Section of MainActivity
      • Click on checkout and entry will be checked out. Guest will recieve a mail regarding the meeting details.
      • You may also checkout from Entry Details screen which can be accessed by clicking on an entry in Running Entry Section of MainActivity.
    6. Past Entry
      • An entry once checked out can be viewed in Past Entry Section of MainActivity.
    7. Log Out
      • You can Logout by clicking on power button on Toolbar on MainActivity.
    8. Log In
      • If you're logging in for the first time then enter email & password, click on sign up, and with same credentials click on Login.
      • Otherwise enter credentials and click on Login straightaway.

    Application Installation

    Clone the repo in your Android Studio and run it on an emulator or on your android device. You can also generate an APK from Android Studio and install it on any Android phone you want.

    You can also download APK from apks folder of the project. Alternatively, you can navigate to app/build/outputs/debug/app-debug.apk

    You may find screenshots in the screenshots folder

    Database Structure

    innovaccer-assignment
     |
     |--AdminID
        |--entries
            |--entryID
                |--checkInTime
                |--checkOutTime
                |--entryID
                |--host
                |--visitorName
                |--visitorPhone
                |--visitorEmail
         |--hosts
            |--hostID
                |--hostAddress
                |--hostEmail
                |--hostID
                |--hostName
                |--hostPhone
    

    Note 1: Enter valid emails for testing throughout, otherwise you won't see emails being sent.

    Note 2: You can change the testing email which sends mail automatically in Config file under utils package. Make sure to enable less secure apps to be able to send emails.

    About

    Innovaccer's SummerGeeks 2020 Assignment

    Topics

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

     
     
     

    Contributors

    Languages