Skip to content

smais007/adventureAxies-Client

Repository files navigation

Adventure Axis

This document serves as documentation for the Tourism Management Website project, which aims to create a tourism-focused website with specific features and functionalities. The project focuses on creating a website tailored to tourism management, allowing users to explore tourist spots, add new spots, and manage their own lists.

Features Overview:

  • Responsive Design: The website is designed to be responsive, ensuring optimal viewing experience across different devices such as mobile phones, tablets, and desktop computers.
  • Private Routes: User sessions are maintained even after page reloads, ensuring seamless navigation within the website without constantly redirecting to the login page.
  • Environment Variables: Sensitive information such as Firebase configuration keys and MongoDB credentials are hidden using environment variables.
  • Customized Navbar: The navigation bar includes essential links such as Home, All Tourist Spots, Add Tourist Spot (accessible through private route), My List (accessible through private route), and conditional Login/Register buttons.
  • Authentication: Users can log in using email and password authentication, with additional support for Google login and social media logins (GitHub/Facebook/Twitter).
  • Registration: Registration requires password and email, with password verification criteria ensuring security.
  • Home Page: The home page features various sections including Banner/Slider, Tourist Spots, Countries, Extra Sections, and Footer.
  • Banner: A slider displays meaningful information with at least three slides.
  • Tourist Spots Section: Displays tourist spot cards with relevant information and a "View Details" button for detailed viewing.
  • Add Tourist Spot Page: Users can add new tourist spots via a form, with success messages displayed upon successful addition.
  • All Tourist Spot Page: Displays all tourist spots added by users with sorting functionality based on average cost.
  • View Details Page: Detailed view of tourist spot information, accessible via private route.
  • My List Page: Users can view their specific tourist spots in tabular form, with options to update or delete each entry.
  • Update Page: Allows users to update tourist spot information via a form, with success messages displayed upon successful update.
  • Delete Button: Confirmation required before deleting a tourist spot.
  • Footer: Includes essential website information such as name, copyright, contact details, and social media links.
  • 404 Page: Custom page for Not Found errors.
  • Loading Spinner: Displayed during data loading states.

Technologies Used

  • React.js
  • Vite
  • React Router DOM
  • Firebas Authentication
  • Tailwind CSS
  • Tailwind UI
  • Headless UI
  • Heroicons
  • React icons
  • Sonnar Toast
  • React loader Spiner
  • Google Maps

Demo

Check out the live demo of Paradice Cove here.

Installation:

  1. Clone the repository:
    https://github.com/programming-hero-web-course-4/B9A10-client-side-smais007
  2. Navigate to the project directory:
    cd B9A10-client-side-smais007
  3. Install dependencies:
    npm install

Getting Started:

  1. Start the development server:
    npm run dev
  2. Open your browser and go to http://localhost:5173 to view the website.

npm package name which is used for the challenges task.

  • React-tooltip
  • Lottie React
  • React-simple-typewriter

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

VITE_APIKEY

VITE_AUTHDOMAIN

VITE_PROJECTID

VITE_STORAGEBUCKET

VITE_MESSAGINGSENDERID

VITE_APPID

VITE_GOOGLEAPIKEY

Deployment

  1. First initialized firebase
sudo npm install -g firebase-tools
  1. Login to your firebase consol
firebase Login
  1. initialized firebase in this project
firebase init
  1. Then Press Space to select features, then Enter to confirm your choices.
  • Select Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys
  1. Now enter foollowing command
  • What do you want to use as your public directory? dist
  • Configure as a single-page app (rewrite all urls to /index.html)? (y/N) yes
  • Set up automatic builds and deploys with GitHub? (y/N) no
  1. Now buld the dist folder
npm run build
  1. Finally this time to deploy website in firebase, now enter this command
firebase deploy

Contact

About

The project focuses on creating a website tailored to tourism management, allowing users to explore tourist spots, add new spots, and manage their own lists.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors