Skip to content

JamesTreap/Concerto

Repository files navigation

Concerto

Description

This full-stack project allows users to find which cities their favourite artists will perform concerts in when they go on tour. Featuring MongoDB Databases, RESTful APIs, and AWS Cloud services on the backend, while using Pug, CSS and JS for the frontend, Concerto will be sure to blow your mind and rock your ears.

View the project live at concertomusic.ca.

Homescreen

Features

  • RESTful API featuring CRUD operations, rate limiting, data sanitization, geospacial data & filtering
  • Features JWT Cookie Token authentication, allowing users to create an account/login, upload image files (avatars) and leave comments
  • 'Login', 'Register', and 'About' pages allowing user interaction and detailing the intentions of this project
  • Account settings page featuring user information updating, password changing, and image file uploads
  • Uses Express for path routing, middleware, and API call operations
  • Uses Mongoose for virtual populates, data indexing and data creation
  • Stores and parses data (concert information, user data) in a MongoDB Atlas Database
  • Server-side HTML page and email rendering via Pug templates, delivering responsive and templatized content
  • API status codes reflecting user input and descriptive success/error authentication messages
  • Deployed to an AWS EC2 Linux instance with an Elastic IP, registered AWS Route 53 domain, nginx reverse proxy and SSL certificate

Setup

Clone the project and install npm dependencies. Rename 'sample.env' to 'config.env' and fill out the corresponding fields.

Importing data

Data is stored within the dev-data folder. To import data, run the following commands from the home directory:

node .\dev-data\data\import-dev-data.js --delete
node .\dev-data\data\import-dev-data.js --import

Planned future features

  • Add email sending upon creating an account (once Amazon approves my SES request 🙏)
  • Add a 'Forgot your password?' page where users can regain access to their account via email.
  • Add add the ability to comment directly on the page with logged in users rather than strictly via the API. Will need to investigate ways of moderating this, however, before releasing this feature.

Authors & Acknowledgements

Programming: James Treap.
Image/asset contributions taken from Freepik.

About

Concerto - Find your favourite music artists on tour!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published