Skip to content

Latest commit

 

History

History
138 lines (114 loc) · 2.86 KB

README.md

File metadata and controls

138 lines (114 loc) · 2.86 KB

Server side remake with typescript.

Comfy Rooms

Fullstack project written in React and Express. The application is used to search for room offers and to book them after creating an account. The logged in user has access to the management panel of his orders. You can also create a special account to add and manage your own offers.

ggg

Getting Started

  1. Clone this repo.
git clone [email protected]:bartstc/comfy-rooms-booking-app.git
  1. Install node modules.
npm i
cd client/
npm i
  1. Start application and server:
npm run dev

Software Used

Project Learning Goals

  • Fractal - react app folder structure
  • Using external libraries and APIs
  • Role based authentication (based on JWT)
  • React hooks

Description of Contents

Frontend

client

|-- public
|   |-- images
|   |-- index.html
|   |-- manifest.json
|
|-- src
|   |-- components
|   |-- hoc
|   |-- hooks
|   |-- modules
|   |-- pages
|   |-- utils
|   |-- index.css
|   |-- index.js
|   |-- store.js
|   |-- sass

Backend

server

|-- config
|-- controllers
|-- middlewares
|-- models
|-- routes
|-- config
|-- services
|-- utils
|-- validation
|-- server.js

client/public

Files: index.html, manifest.json and assets folder. Built by create-react-app.

client/src/components

All shared components like buttons, inputs, cards and layout files.

client/src/hoc

All higher order components.

client/src/hooks

All custom hooks.

client/src/modules

Handles redux state (actions + reducers using ducks file structure).

client/src/pages

Often called containers. Contains all root level components and ones directly related to this root components.

client/src/utils

All helper functions and shared styles.

client/src/index.js

Registers all routes, render the app and handle tokens.

client/src/index.css

Global styles.

client/src/store.js

Root store file. Initializes the redux store.

Preview

Comfy Rooms App

License

This project is licensed under the ISC License - see the LICENSE.md file for details