Giter Club home page Giter Club logo

farzana-mohsin / blissful-trails-client Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 11.05 MB

This project is a web application that allows users to browse through a tourism website, browse different tour type options. Users need to be logged in to view private routes. Once logged in, users can book a tourist package, all users can also access the dashboard depending on their roles.

Home Page: https://blissful-trails.web.app/

JavaScript 99.23% HTML 0.30% CSS 0.47%
animatecss daisyui framer-motion javascript merakiui mongodb nodejs react react-router-dom express firebase-auth jwt tailwindcss

blissful-trails-client's Introduction

Assignment Twelve

Blissful Trails

  • This project is a web application that allows users to browse through a tourism website, browse different tour type options. Users need to be logged in to view private routes.
  • Once logged in, users can book a tourist package, all users can also access the dashboard depending on their roles.
  • The website provides a user-friendly interface and offers various features to enhance productivity.

Key Features

  • Navbar, Banner, packages, package details, tourist stories, and Footer sections are publicly available.

  • User authentication

    • The application allows users to create accounts and log in to access their tasks and settings.
    • The register and login have multiple credentials which are shown by toasts.
    • User can also login via their Google or Github accounts.
  • The website logo is created through Canva.

  • The navbar is responsive and will show the buttons for private routes if a user is logged in

    • A hover dropdown is used under My Profile which navigates to the Dashboard.
    • User display name is visible on hover once the user is logged in
  • The Homepage features the banner, a React tab with three tabs - Overview section has a video, Our Packages tab has three cards of packages, there is also a button to see all packages, and the third tab is Our Tour Guides that shows the Tour guides names in tabular format.

    • Tour Types section has four logos which navigates to package related to the tour type.
    • Our Top Reviews section features the stories shared by the tourists.
      • The stories have a View Details button and on the details page there is the option to share the review on Facebook. React-share is used. The stories are publicly available
      • The tourist needs to log in to post a story
  • On the Navbar, there is About Blissful Trails dropdown which showcases three sections - Community, About Us, and Contact Us

  • My Profile dropdown will take a logged in user to the dashboard depending on their roles.

  • All the users will be by default tourist.

  • Once the user goes to the dashboard, they can see

    • Tourist profile - user's name and photo will be displayed in this section
    • Tourist wishlist - Tourists are able to add a package to their wishlist, The wishlist packages will be displayed in this section in tabular format
    • Tourist bookings - tourists are able to see their bookings in this section. They can also cancel their booking until it's rejected or accepted by the tour guide. Once accepted, pay button will be enabled and tourist can pay for the booking.
    • Tourist can also request to admin to become a tour guide.
  • Admin dashboard

    • Admin's profile - Admin's name and photo will be visible in this section add packages - admin can add new tour packages manage users - with manage users admin can assign a tour guide or admin role to the requester (tourist). the data is shown in tabular format
  • Tour Guide Dashboard

    • tour guide profile - tour guide's name and photo will be visible in this section
    • the tours assigned to the tour guide - Tour guides will have the option to accept or reject the tours.
  • Once the tourist/user clicks on a tour, they can see all the details (price, tour type, about the tour, tour plan)

    • User can book a tour. Users will also have the option to choose their tour guide. If a user books more than three times, they're eligible to get a discount. React confetti is used to show the discount.
    • React date range is used to show the calendar.
  • An Error page is added with a button to go to homepage incase a user tries to go to a route that doesn't exist

  • On the Navbar there is a About Blissful Trail dropdown - Community, About Us and Contact Us. Framer Motion is used on About Us page.

  • Integration with other tools

    • The application has been integrated with popular productivity tools, such as Framer Motion, Slider, React Helmet, React Tabs, React date range, Animate.css
    • React toastify were used to show the success and error messages
    • Images were hosted on imgbb.
  • Mobile and tablet friendly: The web application is responsive and optimized for mobile devices, allowing users to manage tasks on the go.

  • Firebase config keys have been transferred to .env.local file.

  • MongoDB username and password have been transferred to .env file with encrypted code.

  • JWT is used to protect the backend data of private routes. Middlewares were used to verify the token and email addresses. localStorage is used to remove the token once the user logs out.

Steps to clone a project

  • On GitHub.com, navigate to the main page of the repository
  • Above the list of files, click Code
  • Copy the URL for the repository. To clone a repository using GitHub CLI, click GitHub CLI, then click the double boxes
  • Open Terminal
  • Change the current working directory to the location where you want the cloned directory
  • Type git clone, and then paste the URL you copied earlier
  • Press Enter to create your local clone

blissful-trails-client's People

Contributors

farzana-mohsin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.