Skip to content

Md-Dipu/birdseye

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Birdseye

Tourism related website

Build Status

Birdseye is a tourism website. It is built using the popular MERN Stack technologies. This demo website is a full-stack website. It is built for the purpose of learning React, Node.js, MongoDB, and others tools and development packages.

Live Demo

This project is deployed using the firebase hosting service. To visit the demo Click here or manually visit the URL https://birdseye-travel-planner.web.app.

Demo Accounts

Role Email Password
Admin [email protected] Admin1234#
Manager [email protected] Manager1234#
User [email protected] Demo1234#

Note: The website may be slow because of the free hosting server.

Features

  • Responsive webpages
  • Authentication and Authorization
  • File hosting
  • REST api
  • Database management
  • Sorting and search plans
  • Add new plans (Admin only)
  • Editing plan details (Admin only)
  • Make bookings
  • Booking management
  • User 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.
  • 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-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.
  • Firebase-admin - Firebase Admin Node.js SDK.
  • Mongodb - MongoDB NodeJS Driver.
  • Validator - A library of string validators and sanitizers.

Installation and Development

Birdseye requires Node.js v10+ to run.

Install the dependencies and devDependencies and start.

Frontend

# client
cd birdseye/client/
npm install
npm start

Backend

# server
cd birdseye/server/
npm install

For production environments...

npm start

# or
NODE_ENV=production node index.js

For local environments...

npm run start-local

# or
NODE_ENV=local node index.js

For development environments...

npm run start-dev

# or
NODE_ENV=dev nodemon index.js

Environment variables

Before starting, the servers must set up some environment variables on both the birdseye/client and birdseye/server.

Frontend

Enter all variables in the client/.env.local file.

Variables Description
REACT_APP_FIREBASE_APIKEY Firebase api key
REACT_APP_FIREBASE_AUTHDOMAIN Firebase auth domain
REACT_APP_FIREBASE_PROJECTID Firebase project ID
REACT_APP_FIREBASE_STORAGEBUCKET Firebase storage bucket
REACT_APP_FIREBASE_MESSAGINGSENDERID Firebase messaging sender ID
REACT_APP_FIREBASE_APPID Firebase APP ID
REACT_APP_SERVER_BACKEND_API_URL Server side URL of birdseye

Backend

Enter all variables in the server/.env file.

Variables Description
PORT Port number for local
LOCAL_URI MongoDB uri for local
DEV_URI MongoDB uri for development
PRODUCTION_URI MongoDB uri for production
FIREBASE_SERVICE_ACCOUNT_INFO Firebase service account information

Thank you!