Music Map is a web application under development with the intention of allowing users to keep up with the tour dates of their favorite artists.
First create one or many list to categorize your favorite artists.
View your created list from the dashboard home!
Load an interactive calendar of upcoming concert dates of all artists from one of your lists!
Each Event cotains a link to the Songkick Event page with more details and an option to purchase tickets!
Current development can be found on the "refactor" and "testing" branch
This project was developed as an assignment for the class CS3380: Object Oriented Programming at Louisiana State University. All commits after May 2019 were done outside the assignment submission.
This project is currently unlicensed. The project is currently not deployed and the authors currently have no intention of monetization. It is the future intention of the authors for this project to be re-licensed with an appropriate open-source license.
Music Map's anatomy is made up of the Web and Server directories.
The frontend is written using Typescript and React. Additionaly Apollo Client is used to mediate between GraphQL and React to handle all internal and external API calls. Styling is done in-line using Material-UI.
The backend is written using Typescript in the Node environment. The server is created by Apollo Server using Express as middle-ware. Express is used to take advantage of Express sessions to handle user authentication with cookies. APIs are handled using GraphQL's query/mutation and typeDef/resolver model as opposed to the traditional REST model. User data is stored in a PostgreSQL database. API calls to the database are normalized using TypeORM.
Notable tooling used during development were nodemon, create-react-app, and the tooling provided by typescript's compiler.
This project's architecture was heavily influenced by Ben Awad's repo: "graphql-typescript-stripe-example". Ben makes great and informative youtube videos and has excellent project examples on his github.