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.
Install the dependencies and devDependencies and start.
# client
cd wagon/client/
npm install
npm start
# server
cd wagon/server/
npm install
For development environments...
npm run dev
# or
nodemon server.js
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 |
Thank you!