- Cynthia(Yue) Cheng
- Skylar(Zhuohang) Li
please visit https://trailoholic-app.herokuapp.com/
- Browse trail collections
- Search trail
- User can simply signup an account using the email, or login using the existing social network accounts.
- Browse the the trails infomation on the map.
- Click the marker on the map, the route and information of the trail will pop up.
- Click any trail to see the details
- User can view all the detailed information of the trails, including the mode, difficulty, start and end location, trail duration, trail distance and detailed instruction of trail from starting to ending point.
- User can add the trail to user's collection (login required)
- User can write review to this trail (login required)
- User can see the profile
- User can edit the "about me" and "nickname" fields in the profile
- User can see the collection of trails
- User can edit delete trail from the collection
-
User can post custom trail to the website.
-
User can select the trail type and difficulty, enter the starting and destination place and then click "Find Trail".
-
If an mateched trail is available, trail detail will be shown. If not, user can enter the distance and the length of the trail manually.
Division of work In the first iteration, we set up the frame of our application. We use dummy data in json file to develop CRUD operations.
Routes, links and basic CRUD operations on both server and client side.
Overall structure of our web application. Add components and pages.
Division of work In the second iteration, we finish connecting the server to MongoDB Database, and visualizing the geographic data using the Mapbox API.
Use Mapbox API and develop addTrail function. Connect application with database.
- Add map on Explore page to show all the locations of trails.
- Add map on trail details to show corresponding location on map.
- Work on adding new trail features. Utilizing the Mapbox Geocoder API, design search inputs that enable users to search place on the map.
Add features: when user input the starting point and destination, calling the Mapbox Matching API to find best matched route for this trail.
Design a form to submit the new trail infomation to database.
- Add responsive design to AddTrail page.
- Finalize AddTrail function.
- Fix map bugs and edit home style.
- Deploy on Heroku.
- Add search page. Search trails near input place.
- Add search api and function.
Finish Search, Filter function and decorate all pages.
- Search function on Home page and Explore page.
- Add filter on Explore page to show different results when user clicks different mode of trail.
- Add search result page with css code.
- Add to List button dynamically updates.
- Modify Trails page layout, TrailDetail page and UserList page's CSS and layout.
- Edit codes according to new data's structure on all pages.
- Fix bugs on UserList page, TrailDetail page and Trails page.
- Write README file.
- Add Search Page.
- Beautify home page, add responsive design.
- Add slick to home page.
- Add map in trail detail page.
- Add route line on TrailMap
- Add review panel
- Beautify user list page
- Beautify user profile page
- add user's collection to home page
- Trouble shooting. Fix bugs.
- clean code
- add test
Clone this repository to local
Change the directory to server folder:
Install the dependencies:
Run the srver:
Open http://localhost:5000 to view the server in your browser.
Change the directory to client folder
Install the dependencies:
Run the react app:
Open http://localhost:3000 to view the app in your browser.