Here you will find my final degree thesis at University of Córdoba, Spain. This project's goal is to unify in one platform the management of musical events from each essential component of them (public a.k.a fans, establishments and artists) offering a pleasant user experience through different web apps.
The purpose of this project is to learn new technologies like NestJS and NextJS using mono-repo with Nx.dev and apply concepts about Software Desing like Event Modeling, Domain-Driven-Desing, CQRS, Event Sourcing, Clean code, etc.
- Design: Event modeling.
- Arquitecture: Hexagonal Arquitecture following Domain-Driven-Design concepts.
- Database management: CQRS and Event Sourcing patterns.
- Read model: MongoDB.
- Write model: Event Store.
To clone and run this application, you'll need Git and Node.js. From your command line:
# Clone this repository
$ git clone [email protected]:josefrnandezz/melomaniapp.git
# Go into the repository
$ cd melomaniapp
# Install dependencies
$ yarn
# Start docker containers (MongoDB and Event Store)
$ docker-compose up -d
# Run the server app
$ yarn nx run api:serve
# Build web app for fans
$ yarn nx fans:serve
# Build web app for artists
$ yarn nx artists:serve
# Build web app for establishments
$ yarn nx establishments:serve
This software uses the following packages:
GNU Affero General Public License v3 (AGPL)
Twitter - Jose Fernández
LinkedIn - Jose Fernández