Skip to content

Latest commit

 

History

History
146 lines (109 loc) · 5.05 KB

README.md

File metadata and controls

146 lines (109 loc) · 5.05 KB

Harmony

Harmony is an open community of independent music lovers similar to Spotify, or Deezer. Harmony is a streaming music web application for personal use where users can listen their music and discover songs, playlists and artists.

This project was made by a team of passionate music developers using continuous integration and agile methodologies.

This app has been built with MERN stack and some complements like Auth0 to manage the users information.

🚀 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

📋 Requirements

You need to install NodeJs and Install the NPM packages with npm install command. You will also be required to create accounts for: - MongoDB Atlas - Auth0

🔧 Installation

First, you will need to clone or fork the repository into your Github account:

Fork on GitHub

frontend ->$ git clone https://github.com/martapunset/musicplayer-final-project backend -> $ git clone https://github.com/martapunset/music-player-final-project-backend

When you have all the dependencies installed you need to create two .env files, one located in client folder, one in server folder containing the new encryption keys. Please refer to the examples below:

🦴 Project Structure

Folder structure 🗂

  
├── documentation // All project wireframes, PRD, and presentation files  
├── server // Backend Node Server  
│ ├── src  
│ │ ├── config  
│ │ ├── controllers  
│ │ ├── db  
│ │ ├── middlewares  
│ │ ├── models   
│ │ ├── routes   
│ │ └── utils  
│ │ └── index.js
│ │ └── server.js  

Server-Side with nodeJS 🔐

This back end side is our main API. Here we receive most of the requests that are sent by the front end. This API has the core functionalities of the back end such as the database management.

🗺 Project Journey

Team Objectives 🎯

  • Clean & efficient Code
  • API architecture with the easiest flow for the frontend
  • Comfortable user experience
  • Safe server side
  • Transparent and fluid team communication
  • Collaborative work

Organization 📆

In order to achieve all of our goals we have implemented the Scrum Agile Methodology. We divided all the process into four separated Sprints contained within 3 weeks, everyone of them with their own goals. To manage those sprints we set daily, sprint plannings and review and sprint retrospective meetings. We used Github Projects to divide our sprints, issues and tasks on boards using the Kanban structure. We also implemented a code review system in order to get all the team connected with all parts of the project.

Organization

Team Convention 🤝

Based on Agile methodologies we had daily reviews, sprint plannings and sprint reviews. This was done in order to agree on the requirements, design, develop, test, deploy and review each sprint.

🕵️‍♂️ Resources

Main resources for the backend 🧬

Support libraries 📚

✨ Contributors

Members of the Harmony group


Antonio Martín Galdeano


Lokesh Pereiro


Marta Punset


Elisabet Ramos


Pau Tomás Díez