Giter VIP home page Giter VIP logo

bookomatic's Introduction

BookOmatic

Gitter GPL Licence Open Source Love

What is BookOmatic?

  • This is a project that intends to automate the process of booking meetings according to available time slots.

What problem does BookOmatic solve ?

  • When a person1 wants to book a meeting with person2 he will send an email requesting for the date and time of the meeting. Person1 is not available at the requested time so he gives a date and time to person2 at which he is free. This goes on till they both find a suitable time slot at which they both are free. This is a long and cumbersome process so BookOmatic solves this by showing person1 the date and time slots person2 is free so he can book his meeting immediately.

Contributors


Tools:

  • Django
  • Python
  • Firebase

Use case:

  • User1 gets an email from User2 wanting to book a meeting
  • User1 sends back a link to a site
  • User2 opens the site and sees a UI with available time slots
  • User2 presses a time slot and creates a booking
  • User1 gets notified about the requested booking
  • User1 can approve or disapprove the booking

Requirements:

  • Should be able to add events in google calendar
  • Should be able to send email notifications
  • Should be able to show available spots
  • Should check user calendar in case they book something into available spots
  • User should be able to pick which times are going to be available to book, weekly, monthly or yearly (for instance Tuesdays at 3 PM is available all year, Monday at 2 PM is only available today etc)
  • The user that books meeting should be able to add in details for the meeting
    • Might have options like: type of meeting [Phone, Video, Face to Face]
    • Adding in a note for what the meeting is about
    • Name of booker, name of the company
    • Phone number and email
    • if it's a video conference an option for adding a link to the site of the meeting is required
  • Main user should be able to approve or disapprove booking

Edge cases:

  • User1 is in the process of booking an appointment and User2 books it before User1 finishes. So once User1 is done it is no longer available.
    • Solution: When a user presses a time slot it becomes unavailable straight away. And if they cancel or get disapproved it will become available again.
  • User2 can hog available slots by opening the booking page indefinitely, making the application counter-productive. There has to be a time limit set for a single booking to take place, example: 15 mins available to book a slot after User clicks a slot to book

Developer Setup:

  • Fork this repository, and cd into it.
git clone https://github.com/KalleHallden/BookOmatic.git
cd BookOmatic/
  • Create and activate your virtual environment.
    • MacOS/Linux:
    virtualenv --no-site-packages env
    source env/bin/activate
    • Windows:
    virtualenv env
    .\env\Scripts\activate
    
  • Install requisite python packages and modules.
pip install -r requirements.txt
  • Verify if the Django project is working by running the development server.
python manage.py runserver

bookomatic's People

Contributors

kallehallden avatar brianruizy avatar rahulkeluskar avatar thoughtlessmind avatar benjaminccross avatar jannest3011 avatar jeremychrimes avatar soham1sawant avatar l3str4nge avatar novibonjovi avatar jackheuberger avatar dependabot[bot] avatar sayashraaj avatar aryabuddha avatar relaw avatar frohus avatar mohsenuss91 avatar jbetts97 avatar jonas4climate avatar alvinkuruvilla avatar albertcoolguy 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.