Ever had a nice day on the weekend, wanted to go for a hike, but didn’t know where to hike or what to do? Citi Hikes is a full stack JavaScript application and hike blog, focusing on day trip hikes from Washington, DC.
Check it out live here: http://cithikes.com
- Use a RESTful API to return hiking data and display it creatively on a Mapbox Map.
- Implement full CRUD functionality using RESTful routes.
- Implement an authentication strategy.
- For maps, Mapbox is used.
- Hiking data is returned using the Hiking Project Data API
- This app uses the MEHN stack. MongoDB, Express, HandleBars, and Node.js.
- For authentication, Passport and BCyrpt are used.
- Materialize is used for some basic formatting (nav bar, forms, and buttons)
- Flexbox is used in much of the CSS and layout.
- Plot all hikes returned by the hiking API on a map.
- Have detailed 'show' page of an app which populates with data returned by the hiking API.
- Two models, for hikes and for users.
- A subdocument for comments is embedded into the hike model.
- Full CRUD functionaltiy distributed over both models.
- Admin level role permissions for users, as well as restricted pages for admin users only.
- Configuration parameters in place for deployment to Heroku, with an MLAB Mongo DB.
- Allow user to specify locations other than Washington DC, and distance to return a list of hikes.
- Allow an authenticated user to pin or favorite hikes so they come up on their profile page.
- Rewrite using React framework in resuable components
- Clone down this repo
- run "npm install" to include all the dependencies.
- Ensure that you have a local instance of MongoDB running.
- Start the node.js server by running nodemon app.js or node app.js
- Run "node db/seed.js" to seed the DB with some demo hikes.
- To create an admin user, you must edit a user directly in the DB, by changing the "isAdmin" boolean attribute to true.