https://github.com/rhannachi/booking
Booking
https://github.com/rhannachi/booking
nextjs react storybook tailwindcss typescript
Last synced: 3 months ago
JSON representation
Booking
- Host: GitHub
- URL: https://github.com/rhannachi/booking
- Owner: rhannachi
- License: mit
- Created: 2022-08-16T23:06:48.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-27T08:23:39.000Z (4 months ago)
- Last Synced: 2025-03-27T09:34:14.838Z (4 months ago)
- Topics: nextjs, react, storybook, tailwindcss, typescript
- Language: TypeScript
- Homepage: https://booking-prod.vercel.app
- Size: 2.61 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Booking

### [Storybook library](https://main--630fbaba720a6e9d6481a8d8.chromatic.com)
# Technical Stack
[](https://nextjs.org)\
[](https://www.typescriptlang.org)\
[](https://redux.js.orgorg)\
[](https://tailwindcss.com/)\
[](https://bradfrost.com/blog/post/atomic-design-and-storybook/)[//]: # ([](https://github.com/rhannachi/booking/actions/workflows/next-production.deploy.yml))
[//]: # ()
[//]: # ([](https://github.com/rhannachi/booking/actions/workflows/next-development.deploy.yml))[//]: # ()
[//]: # ([](https://github.com/rhannachi/booking/actions/workflows/storybook.deploy.yml))#
[](https://www.codacy.com/gh/rhannachi/booking/dashboard?utm_source=github.com&utm_medium=referral&utm_content=rhannachi/booking&utm_campaign=Badge_Grade)\
[](https://lgtm.com/projects/g/rhannachi/booking/context:javascript)
[](https://lgtm.com/projects/g/rhannachi/booking/alerts/)
[](https://snyk.io/test/github/rhannachi/booking)[](https://github.com/rhannachi/booking/actions/workflows/workflow.yml)\
[](https://codecov.io/gh/rhannachi/booking)## Getting Started
To install MongoDB on macOS:
```bash
brew update
brew tap mongodb/brew
brew install [email protected]
brew install mongosh
# start service
brew services start [email protected]
# install mongodb-compass GUI
brew install mongodb-compass
```Environment variables
```bash
touch .env
echo DB_URI=mongodb://localhost:27017/booking > .env
```To start development locally:
```bash
yarn dev
```To populate the database with data stored locally in the "mocks" folder:
```bash
curl --location --request POST 'http://localhost:3000/api/seeding/rooms' --header 'Accept: application/json'
```Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## Architecture
```
src/
├── components
│ ├── Atoms
│ │ ├── Button
│ │ │ ├── Button.stories.tsx
│ │ │ └── Button.tsx
│ │ ├── Checkbox
│ │ └── Icon
│ │ ├── Icon.stories.tsx
│ │ ├── Icon.tsx
│ │ └── svgs
│ ├── Molecules
│ │ ├── Carousel
│ │ │ ├── Carousel.fixture.ts
│ │ │ ├── Carousel.stories.tsx
│ │ │ └── Carousel.tsx
│ │ ├── Loader
│ │ │ ├── Loader.stories.tsx
│ │ │ └── Loader.tsx
│ │ └── SearchField
│ │ ├── SearchField.stories.tsx
│ │ └── SearchField.tsx
│ ├── Organisms
│ │ ├── Card
│ │ │ ├── CardBooking.stories.tsx
│ │ │ ├── CardDefault.stories.tsx
│ │ │ ├── Card.fixtures.tsx
│ │ │ └── Card.tsx
│ │ ├── CardList
│ │ │ ├── CardListBooking.stories.tsx
│ │ │ ├── CardListDefault.stories.tsx
│ │ │ ├── CardList.fixtures.tsx
│ │ │ └── CardList.tsx
│ │ └── Toast
│ │ ├── Toast.fixtures.tsx
│ │ ├── Toast.stories.tsx
│ │ └── Toast.tsx
│ ├── Pages
│ │ └── Home
│ │ ├── Home.stories.tsx
│ │ └── Home.tsx
│ └── Templates
│ ├── Footer
│ │ ├── Footer.stories.tsx
│ │ └── Footer.tsx
│ ├── Header
│ │ ├── Header.stories.tsx
│ │ └── Header.tsx
│ └── Layout
│ ├── Layout.stories.tsx
│ └── Layout.tsx
├── containers
│ ├── helpers
│ │ └── home.mapper.tsx
│ └── Home.container.tsx
├── helpers
│ └── constants.ts
├── mocks
│ ├── fixtures
│ │ └── rooms.ts
│ └── http.ts
├── pages
│ ├── api
│ │ ├── room
│ │ │ └── [id].ts
│ │ ├── rooms
│ │ └── seeding
│ │ └── rooms
│ ├── _app.tsx
│ ├── _document.tsx
│ └── index.tsx
├── server
│ ├── config
│ │ └── env.ts
│ ├── controllers
│ │ └── room.ts
│ ├── factories
│ │ ├── apiError.ts
│ │ └── roomErrors.ts
│ ├── helpers
│ ├── middlewares
│ │ └── errors.ts
│ ├── repository
│ │ ├── db.ts
│ │ └── models
│ │ └── room.ts
│ ├── routes
│ └── services
│ └── room.ts
├── services
│ ├── http.ts
│ └── room.service.ts
├── shared
│ └── schemas
│ ├── errors.ts
│ ├── http.ts
│ └── room.ts
├── store
│ ├── room
│ │ ├── room.slice.ts
│ │ └── room.thunk.ts
│ ├── rootReducer.ts
│ └── store.ts
└── styles
└── globals.scss
```