Mapper is a web app that allows users to collaboratively create maps which list multiple pinned locations. Similar to Foursquare you can create and save custom maps such as "Best Coffee Shops Around Town" or "Victoria Brewery Tour Stops".
To login to Mapper, go to "/users/login" and enter a user's email address with no password.
Once logged in you will be able to view all public maps on the site. From here you can navigate to one of the public maps or to your profile. Your profile will contain a list of your maps (all maps you are a contributor on) and you favourite maps.
A user is able to edit any map that they have created or are a collaborator on. Logged in users are also able to favourite any public map to save to their favourites list.
Follow the instructions below to get the project up and running on your local machine for development and testing purposes.
If you don't have Nodejs and npm installed, install them from here.
In the root directory, install dependencies:
npm i
Fix to binaries for sass:
npm rebuild node-sass
Reset database:
npm run db:reset
Run the server (nodemon is used):
npm run local
Lastly, visit Mapper!
- ES6 - Server-side code
- Nodejs - JavaScript runtime
- Express - Framework used for API in Node
- Bootstrap - Front-end framework
- jQuery - JavaScript library
- Sass - CSS Preprocessor
- PostgreSQL - Open source object-relational database
- Git - Version Control
- Login is for demo purposes only
- No logout functionality
- Friends - user can maintain a list of friends that they are able to collaborate on maps with. Could set your maps to be public, or shared with friends.
- Map Categories - add category tags to your maps, search public maps based on categories.
- Pin Favourites - similar to how users can favourite a map, they can also favourite and filter by individual pins.
- Node
- NPM
- PG
- Body-parser
- Cookie-session
- dotenv
- ejs
- Morgan
- Node-sass-middleware
- Nodemon