A collaborate app to share maps and points of interest with others.
Built with Node.js, Express, Bootstrap 5.1, JQuery, EJS, PostgreSQL, CSS/ SASS, and hosted with Heroku
Charter is a full-stack application that allows users to create maps and pin different points of interests on the area to share them around.
With millions of people staying indoors due to the pandemic, it's become harder for everyone to go around and find new interesting places. This is where Charter comes in and helps people recommend their favorite spots around the city, and provide their reviews on feedback on the spots. This makes it easier for people to simply search for spots near them and share them around.
- Adam Hirzalla (@adamhirzalla) - Back-end, database architecture & API
- Joseph Micla (@JoeMics) - Front-end, Bootstrap UI/UX
- Leon Zhou (@LeonXZhou) - GoogleMaps API Research
This app was created as part of our midterm project for Lighthouse Labs - Web Development Bootcamp. The goal was to create a full-stack application from start to finish in just one week.
- Frontend: Bootstrap 5.1, CSS/SASS, JQuery, EJS
- Backend: Node.js, Express, PostgreSQL
- Deployment: Heroku
- Create your own sharable map
- Add/edit/delete pins to an existing map
- Favorite different maps to save them on your profile
- Collaborate with different users on the same map
- Customize your maps/pins
- Search for different maps by title or description
- View users' profiles along with their maps/contributions/favorites
- Customize your maps and pins by choosing different themes
- Include pin information such as description and images to be viewed by other users
The project is live here, but if you would prefer a local installation:
- Clone or download this repository
git clone https://github.com/adamhirzalla/charter
- Create a
.env
by using.env.example
as a reference:cp .env.example .env
- Update the
.env
file with your correct local psql information- username:
labber
- password:
labber
- database:
midterm
- username:
- Navigate to the project directory and install dependencies
cd charter && 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
- Run the development server:
npm run local
Nodemon is used, so you should not have to restart your server
- Visit http://localhost:8000/ on your browser