Wagon is an apartment seal website made with MERN Stack technologies. Maintaining apartments, booking and users is the main key of the website.
This project is deployed using the firebase hosting service. To visit the demo Click here or manually visit the URL https://wagon-apartments-sales.web.app/.
Role | Password | |
---|---|---|
Admin | admin@wagon.com | Admin1234# |
User | demo@wagon.com | Demo1234# |
Note: The website may be slow because of the free hosting server.
- 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.
This project uses a number of open-source projects/packages to work properly:
- Axios - Promise based HTTP client for the browser and node.js.
- Bootstrap - Bootstrap is a powerful, feature-packed frontend toolkit.
- Firebase - Firebase is an app development platform that helps to build apps and games.
- Fortawesome - Build and manage icons and typefaces in a single place, then serve them with a single line of code.
- React - A JavaScript library for building user interfaces.
- React-bootstrap - The most popular front-end framework.
- React-hook-form - Performant, flexible and extensible forms with easy-to-use validation.
- React-rating-stars-component - A simple star rating component for your React projects (now with half stars and custom characters).
- React-router - React Router is a standard library for routing in React.
- Colors - get colors in your node.js console.
- CORS - Node.js CORS middleware.
- Dotenv - Loads environment variables from .env for nodejs projects.
- Express - Fast, unopinionated, minimalist web framework for Node.js.
- Mongoose - Elegant mongodb object modeling for node.js.
- Validator - A library of string validators and sanitizers.
Wagon requires Node.js v10+ to run. It is recommended to use nvm for managing Node.js versions.
-
Clone the repository:
git clone https://github.com/Md-Dipu/wagon.git cd wagon
-
Use nvm to install and use the required Node.js version:
nvm use # If the above command fails, run the following: nvm install nvm use
-
Install the dependencies:
npm install
-
Start the development server:
npm run dev
Before starting, the servers must set up some environment variables on both the wagon/client
and wagon/server
.
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 |
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!