Skip to content
This repository has been archived by the owner on Apr 29, 2023. It is now read-only.

Internal booking app created for a distributed database assignment. Made with Svelte and Couchdb.

Notifications You must be signed in to change notification settings

SarcevicAntonio/Booking-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Booking App

This app was written for an assignment in a distributed database course.

Image of the Booking App Frontend

We had the assignment to create an app with the following loose requirements:

  • Booking App to be internally used by Sales Agents to register new reservations
  • multiple travel tours / boats with different capacities
  • multiple sales agents working offline
  • sync everybody together at some point

The issue is, that you don't want too much overbooking. So we create an allowance for every sales agent at sync. Our solution implemented Couch DB with a WebApp based frontend plus a server side script for pending bookings that were above the allowance.

The web app was originally written using just jQuery and PouchDB. I later rewrote it in Svelte because i wanted to learn it. It's excellent. I've also added more features (auth, printing of reservations, adding themes, markdown tour descriptions) since the new codebase is much better to work in.

Getting Started

  • Clone Repo
  • Install Docker
  • Type docker-compose build in cli from repo root
  • Type docker-compose up in cli from repo root
  • PBT client available under http://localhost:8000/
  • Remote CouchDB Fauxton (GUI) avaiable under http://localhost:5984/_utils/
  • Run PendingBooking Script mit "docker-compose run --rm pbscript node server.js"

Example Workflow

  • Login is just admin admin
  • Add new Tour
  • Add new booking that is above allowance
  • Press Sync Button
  • Run Server Script
  • Press Sync Button
  • To Contact notice should appear

About

Internal booking app created for a distributed database assignment. Made with Svelte and Couchdb.

Topics

Resources

Stars

Watchers

Forks