Skip to content

Md-Dipu/wagon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Wagon

Apartments sales website

Build Status

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 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 - 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.

Backend

  • 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.

Installation and Development

Wagon requires Node.js v10+ to run.

Install the dependencies and devDependencies and start.

Frontend

# client
cd wagon/client/
npm install
npm start

Backend

# server
cd wagon/server/
npm install

For development environments...

npm run dev

# or
nodemon server.js

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

Thank you!