https://github.com/md-dipu/wagon
Apartments sales website
https://github.com/md-dipu/wagon
bootstrap css express firebase javascript mern-stack mongoose node nodejs react react-bootstrap reactjs
Last synced: 4 months ago
JSON representation
Apartments sales website
- Host: GitHub
- URL: https://github.com/md-dipu/wagon
- Owner: Md-Dipu
- Created: 2022-01-23T08:26:22.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-23T11:57:58.000Z (over 1 year ago)
- Last Synced: 2025-03-23T12:29:10.295Z (over 1 year ago)
- Topics: bootstrap, css, express, firebase, javascript, mern-stack, mongoose, node, nodejs, react, react-bootstrap, reactjs
- Language: JavaScript
- Homepage: https://wagon-apartments-sales.web.app/
- Size: 1.36 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wagon: Apartments Sales Website


Wagon is an apartment seal website made with MERN Stack technologies. Maintaining apartments, booking and users is the main key of the website.
### Live Demo
This project is deployed using the firebase hosting service. To visit the demo [Click](https://wagon-apartments-sales.web.app/) here or manually visit the URL https://wagon-apartments-sales.web.app/.
#### Demo Accounts
| Role | Email | Password |
| ----- | --------------- | ---------- |
| Admin | admin@wagon.com | Admin1234# |
| User | demo@wagon.com | Demo1234# |
> **Note:** The website may be slow because of the free hosting server.
## Features
- Dynamic website
- Responsive webpages
- REST API
- Authentication and authorization
- Apartments, bookings and reviews management
- Email and password authentication system
- User and role management
This website is a fully responsive application. Attempts have been made to implement all basic concepts/services.
## Tech
This project uses a number of open-source projects/packages to work properly:
### _Frontend_
- [Axios](https://axios-http.com/) - Promise based HTTP client for the browser and node.js.
- [Bootstrap](https://getbootstrap.com/) - Bootstrap is a powerful, feature-packed frontend toolkit.
- [Firebase](https://firebase.google.com/) - Firebase is an app development platform that helps to build apps and games.
- [Fortawesome](https://fortawesome.com/) - Build and manage icons and typefaces in a single place, then serve them with a single line of code.
- [React](https://reactjs.org/) - A JavaScript library for building user interfaces.
- [React-bootstrap](https://react-bootstrap.github.io/) - The most popular front-end framework.
- [React-hook-form](https://react-hook-form.com/) - Performant, flexible and extensible forms with easy-to-use validation.
- [React-rating-stars-component](https://www.npmjs.com/package/react-rating-stars-component) - A simple star rating component for your React projects (now with half stars and custom characters).
- [React-router](https://reactrouter.com/) - React Router is a standard library for routing in React.
### _Backend_
- [Colors](https://github.com/Marak/colors.js) - get colors in your node.js console.
- [CORS](https://github.com/expressjs/cors#readme) - Node.js CORS middleware.
- [Dotenv](https://github.com/motdotla/dotenv#readme) - Loads environment variables from .env for nodejs projects.
- [Express](https://expressjs.com/) - Fast, unopinionated, minimalist web framework for Node.js.
- [Mongoose](https://mongoosejs.com/) - Elegant mongodb object modeling for node.js.
- [Validator](https://github.com/validatorjs/validator.js) - A library of string validators and sanitizers.
## Installation and Development
Wagon requires [Node.js](https://nodejs.org/) v10+ to run. It is recommended to use [nvm](https://github.com/nvm-sh/nvm) for managing Node.js versions.
### Setup
1. Clone the repository:
```sh
git clone https://github.com/Md-Dipu/wagon.git
cd wagon
```
2. Use nvm to install and use the required Node.js version:
```sh
nvm use
# If the above command fails, run the following:
nvm install
nvm use
```
3. Install the dependencies:
```sh
npm install
```
4. Start the development server:
```sh
npm run dev
```
### Environment variables
Before starting, the servers must set up some environment variables on both the `wagon/client` and `wagon/server`.
#### _Frontend_
Enter all variables in the `client/.env.local` file.
| Variables | Description |
| -------------------------------- | ---------------------------- |
| REACT_APP_API_KEY | Firebase api key |
| REACT_APP_AUTH_DOMAIN | Firebase auth domain |
| REACT_APP_PROJECT_ID | Firebase project ID |
| REACT_APP_STORAGE_BUCKET | Firebase storage bucket |
| REACT_APP_MESSAGING_SENDER_ID | Firebase messaging sender ID |
| REACT_APP_APP_ID | Firebase APP ID |
| REACT_APP_SERVER_BACKEND_API_URL | Server side URL |
#### _Backend_
Enter all variables in the `server/.env` file.
| Variables | Description |
| ------------------------ | ------------------------------------ |
| FIREBASE_SERVICE_ACCOUNT | Firebase service account private key |
| MONGODB_URI | Mongodb connection string |
| PORT | Port number for local server |
We appreciate your interest in Wagon. If you have any questions or need further assistance, please feel free to reach out to us. **Happy coding!**