Coder Social home page Coder Social logo

booking-app's Introduction

Example of creating a nest app from scratch with openapi

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.

Running

npm run start:dev

Deploying

Check everything is running fine using npm run offline (not the base url doesn't work with serverless offline e.g '/' but will when deployed) then npm run deploy:fresh or npm run deploy if updating.

Swagger

After running the application, openapi.json will get created. You can then generate types from that using npm run gen-api-client to use in a front end application. You can also head to this url to look at the swagger docs. http://localhost:3333/docs/

Plan

Goal: Have a sellable generic booking model, A user can create a service and a customer can make bookings against the service. Front end will show one service at a time serviceName/book

  1. Have bookings and users. Can hardcode time slots and can show which ones have bookings
  2. Service and timeslots, 1 service has many time slots which will have many bookings.
  3. A business will have many services.
erDiagram
    SCHEDULES ||--o{ SERVICE : hasMany
    SCHEDULES {

    }
    SERVICE {
        id string
        serviceType string
        times DateList
        sections stringList
    }

    SERVICE ||--o{ TIMESLOTS : hasMany
    SERVICE {
        id string
        duration number
        serviceType string
        sections stringList
        createdAt Date
        updatedAt Date
    } 
    TIMESLOTS ||--o{ BOOKINGS : creates
    TIMESLOTS {
        id string
        time Date
    }
    BOOKINGS {
        time Date
        selectedMenuOptions List
        numOfPeople number
        customerNotes string
        managerNotes string
        created_at Date
        updated_at Date
    }
    CUSTOMER ||--o{ BOOKINGS : places
    CUSTOMER {
        id string PK
        firstName string
        lastName string
        email string
        phone string
    }

Todos

  1. pass auth0 params in -- maunally add to ssm, setup permissions, add key to provder.ts

  2. database

  3. domain name.

booking-app's People

Contributors

garaxer avatar garybagnall avatar

Stargazers

 avatar

Watchers

 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.