Skip to content

ronsbons/detour-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeTour

DeTour landing page

Overview

DeTour is a website where young travelers can compare tour offerings from the top companies offering group travel for 18-35 year olds. Users can view tours by country and see a side-by-side of key information like which countries are visited and starting costs. Users can choose to create an account to leave reviews sharing their experiences from a particular tour and to save tours they're interested in to view later.

Technologies Used

Languages

  • HTML
  • CSS
  • Sass
  • JavaScript

Frameworks

  • Bulma.css

Libraries

  • React.js
  • Redux

Packages

  • axios
  • bulma
  • jsonwebtoken
  • node-sass
  • react-router-dom
  • react-slick, slick-carousel
  • redux-persist

Installation

If you would like to run the whole application locally, the backend repo can be found here. Please install it before installing this frontend repo.

To connect to your local database and server, the axios call endpoints in CountryModel.js, ReviewModel.js, TourModel.js, and UserModel.js will need to be changed to your local server's address (ex. http://localhost:3001).

You can alternatively run only the frontend locally, which will interact with the existing backend hosted on Heroku.

Clone this repo down, and first install its dependencies. npm install

You can then run npm start and see the working DeTour app on http://localhost:3000.

Packages

For styling, the Bulma.css framework has been installed as a package, and all modules have been kept should any of them be needed in future refactoring. The node-sass package has also been installed to utilize Sass to customize Bulma's default styles. If you make changes in any Sass files, run npm run css-watch to compile changes to the index.css file.

User Stories and Wireframes

User stories and wireframes can be found at this project's Trello board.

Unsolved Problems

  • Broswer history

Currently, the URL for the region and country container components remain the same at "/region" and "/country" no matter what information is dynamically populated into the component. This prevents the user from successfully going back and forward through their browser's history.

  • User security

A user's unique ID and username are stored in the Redux store and in some components' local state unencrypted.

  • User-facing error handling

For example, upon user registration, if a user were to type a special character in their username that doesn't match the regex set in the backend, the sign up form will not submit, but there is no message saying why.

Future Features

  • Admin frontend to add/edit/delete additional countries and tours
  • Improvements on frontend scalability for additional data
  • Improvements on responsive and accessible styling
  • Image compression to improve page loading
  • User authorization package, such as PassportJS
  • Improved error handling and testing
  • Search bar to allow users to search for countries

This project was bootstrapped with Create React App.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published