Wiki Maps is a web app that allows users to collaborate to create maps, list multiple points of interest, favorite their favorite maps, and share them with others.
- users can see a list of the available maps
- users can view a map
- a map can contain many points
- each point can have: a title, description, and image
- authenticated users can create maps
- authenticated users can modify maps (add, edit, remove points)
- users can favourite a map
- users have profiles, indicating their favourite maps and maps they've contributed to
This project was created and published by Lucky Kim, Matt Lawson, and Matthew Seligman as part of our midterm project at Lighthouse Labs. We welcome any feedback!
Note: Our most recent github merge was directed towards demonstration and some features may have become non-functional after our most recent merge.
- โ Build a web app from start to finish using the tech and approaches learned to date
- โ Turn requirements into a working product
- โ Practice architecting an app in terms of UI/UX, Routes/API and Database
- โ Manage a multi-developer project with git
- โ Simulate the working world where you do not always get to completely cherry pick your team, stack or product features
- โ Track each meeting with Meeting Minutes keeping us on track for our actionable goals [ ๐ Internal Stretch Goal ]
- โ Practice demoing an app to help prepare for the final project and employer interviews
- Create the
.env
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 dependencies:
npm i
- 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 server:
npm run local
- Note: nodemon is used, so you should not have to restart your server
- Visit
http://localhost:8080/
-
Node 10.x or above
-
NPM 5.x or above
-
chalk - Terminal string styling done right.
-
dotenv - Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env
-
ejs - Embedded JavaScript templates
-
express - Fast, unopinionated, minimalist web framework
-
morgan - HTTP request logger middleware for node.js.
-
Multer - Multer is a node.js middleware for handling multipart/form-data, which is primarily used for uploading files.
-
pg - PostgreSQL client - pure javascript & libpq with the same API.
-
sass - A pure JavaScript implementation of Sass.
-
Sharp - Sharp converts large images in common formats to smaller, web-friendly JPEG, PNG, WebP, GIF and AVIF images of varying dimensions.
-
LeafletJS - Leaflet is an open source JavaScript library used to build web mapping applications.
-
Animations.css - Animate.css is a library of ready-to-use, cross-browser animations for you to use in your projects.
-
Leaflet-locatecontrol - A leaflet control to geolocate the user.
-
Lottie Files - Lightweight, scalable JSON Vector animations for your Apps.