An open API service indexing awesome lists of open source software.

https://github.com/glowiep/wikimaps

A collaborative mapping web app that allow users to discover and create maps with various points of interest.
https://github.com/glowiep/wikimaps

collaborative-project expressjs leaflet-plugins leafletjs lighthouse-labs map-application nodejs

Last synced: 3 months ago
JSON representation

A collaborative mapping web app that allow users to discover and create maps with various points of interest.

Awesome Lists containing this project

README

        

🌎 WikiMaps
=========

Welcome to WikiMaps - A collaborative mapping web app that allow users to create maps with various points of interest, keep a list of favorites and contribute to maps on the Discover page.

Click here to view WikiMaps on your browser! Hosted on Railway by Gloria Lim

## ⭐ Features

1. Guests can explore a collection of public maps on the Discover tab.
![WikiMaps Guest View](planning/docs/1-guest-discover.png)

2. Users can view their list of maps they own, and a list of maps they contributed to.

![WikiMaps User Profile](planning/docs/2-User-Profile.png)

3. Users can create new maps set as either Public or Private, and add points to the map (including a point description and image URL).
![WikiMaps User Create Map](planning/docs/3-User-create-map.png)

4. Users can add and delete points from a map they have created.
![WikiMaps User View Map](planning/docs/4-User-view-map.png)

5. Users can keep a list of favorites.

![WikiMaps User Favorites](planning/docs/5-User-favorites.png)

6. Users can contribute to public maps on the Discover page.
![WikiMaps User Contributions](planning/docs/6-User-contribute.png)

## 💬 Contributors
This was a Lighthouse Labs collaborative midterm project by:
- Gloria Lim
- Sebastian Varon

## 🏆 Project Goals

✅ Build a full-stack web application using the technologies and approaches learned to date.

✅ Turn requirements into a working product.

✅ Practice architecting an app in terms of UI/UX, Routes/API and Database.

✅ Use the major steps of software development to execute the project; user stories, wireframes, ERD, Routes, etc.

✅ Manage a multi-developer project with git while using git best practices.

✅ Collaborate with team members to decide how to break out the work, set good team structure, and dynamic.

✅ Present a web development project to a technical and non-technical audience.

## 📋 Entity Relationship Diagram
![Entity Relationship Diagram](./planning/docs/ERD-wikimaps-updated.png)

## 🔧 Dependencies

- Node 10.x or above
- NPM 5.x or above
- PG 6.x
- [bcrypt](https://www.npmjs.com/package/bcrypt)
- [chalk](https://www.npmjs.com/package/chalk)
- [cookie-session](https://www.npmjs.com/package/cookie-session)
- [dotenv](https://www.npmjs.com/package/dotenv)
- [ejs](https://www.npmjs.com/package/ejs)
- [express](https://www.npmjs.com/package/express)
- [express-session](https://www.npmjs.com/package/express-session)
- [morgan](https://www.npmjs.com/package/morgan)
- [sass](https://www.npmjs.com/package/sass)

## 💡 Acknoledgements

- Lighthouse Labs Node Skeleton
- Leaflet Library - Open-source JavaScript library for mobile-friendly interactive maps
- Open Street Maps for base map layer
- leaflet-sidebar-v2 - Responsive sidebar plugin for Leaflet
- ESRI Leaflet Geocoder - Plugin to allow address search functionality in Leaflet.
- Font Awesome - Icon library and toolkit
- Google Fonts - Directory of open source fonts
- Railway - Web App Hosting Platform