• Stars
    star
    373
  • Rank 114,600 (Top 3 %)
  • Language
    HTML
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

More Repositories

1

ProjectInitializationAutomation

Python
586
star
2

reddit_automations

Python
320
star
3

Netflix_Clone

Dart
308
star
4

AutoTimer

Python
271
star
5

BlackFridayScrape

Python
209
star
6

PythonProjects

Python
200
star
7

pwManager

Python
183
star
8

StudenServicesApp

Dart
180
star
9

Instagram

Dart
166
star
10

YouTubeClone

Dart
145
star
11

InstaAutomator

Python
127
star
12

desktop_cleaner

Python
127
star
13

workflow_automation

Python
106
star
14

FinanceAutomation

Python
106
star
15

Calendar_Automator

Python
102
star
16

JobListingsApp

Dart
86
star
17

TodoApp

Dart
85
star
18

AmazonClone

Dart
70
star
19

WeatherPredictor

Python
70
star
20

MiningChamberApp

Dart
62
star
21

NoteAutomator

Python
59
star
22

PortfolioWebsite

Python
53
star
23

Time-management-app

Dart
50
star
24

exerlog

Workout diary app
Java
45
star
25

RaspberryAPI

Python
42
star
26

NoteApp

Dart
24
star
27

ScanAndGo

Dart
23
star
28

NameGenRoulette

Python
22
star
29

IphoneExerLog

Swift
20
star
30

SecretSantaFlutterApp

Dart
17
star
31

ProjectName

17
star
32

VeryGoodGame

C#
16
star
33

Unstagram

Dart
14
star
34

kilowatt_tracker

Tracks energy prices
Python
14
star
35

RedTape

Dart
13
star
36

MyPersonalWebsite

TypeScript
12
star
37

WorkoutDiary

Exercise fields with fields for name, reps, sets, weight, rest. And sums up the total reps of a workout.
Java
12
star
38

AutomaticPlanning

11
star
39

MessagingApp

Swift
10
star
40

EarningsCalculator

Swift
6
star
41

databasetest

Python
6
star
42

CLOUD_DATABASE_SQL_A2

Java
6
star
43

GenericShoppingApp

Swift
4
star
44

Car-Assignment

Java
4
star
45

Assignment3WithoutPrintsAndScanners

Java
3
star
46

testfolder

3
star
47

Assignment3

Corporation assignment 3
Java
3
star
48

testWebsite

TypeScript
3
star
49

AngularPrac

TypeScript
3
star
50

CarAssignment

3
star
51

FirstTestApp

Swift
3
star