Mappi is a full-stack web application built with the EJS template engine, Express, Node and PostgreSQL. This app allows users to create, collaborate, and favourite community maps.
Front-End: HTML, SASS, JavaScript
Back-End: EJS, Express, Node, PostgreSQL
API: Google Maps JavaScript API
- Browse all available maps on the homepage, contribute to one that interests you or create a new map
- Interactively create pins and edit pin details through a slide-down form
- Form validation to check whether users have entered a valid URL for images
- User dashboard that displays their maps, favourited maps, and contributed maps
Mappi Homepage
Creating Mappi
Editing Mappi
User Dashboard
This project requires a Google Maps API key to use, please see: https://developers.google.com/maps/gmp-get-started
-
Fork this repository, and clone your fork of the repository
-
Create the
.env
file by using.env.example
as a reference:cp .env.example .env
-
Update the .env file with your correct local information
- username:
labber
- password:
labber
- database:
midterm
-
Install the dependencies with
npm install
-
Fix to binaries for sass:
npm rebuild node-sass
-
Reset database:
npm run db:reset
- Check the db folder to see what gets created and seeded in the SDB
-
Run the web server with
npm run local
-
Open your web browser on http://localhost:8080/ to start using Mappi!
- Body-parser
- Chalk
- Dotenv
- EJS
- Express
- Morgan
- Node-sass-middleware
- PG
- PG-native
- Request