Giter Club home page Giter Club logo

bookomatic's Introduction

BookOmatic

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 and Python for frontend
  • Firebase for backend

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.
virtualenv --no-site-packages env
source env/bin/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

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.