Server side remake with typescript.
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.
- Clone this repo.
git clone [email protected]:bartstc/comfy-rooms-booking-app.git
- Install node modules.
npm i
cd client/
npm i
- Start application and server:
npm run dev
- React with react hooks
- Redux state management
- Styled-components for styles
- Mapbox Maps API
- Stripe for making payments
- Cloudinary asset management
- Express for server
- JSON Web Token for auth
- MongoDB database
- Heroku deployment
- Fractal - react app folder structure
- Using external libraries and APIs
- Role based authentication (based on JWT)
- React hooks
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.
This project is licensed under the ISC License - see the LICENSE.md file for details