Application for music school management
Yarn
Configure the repository:sudo curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Update the source list:
sudo apt update
Install Yarn:
sudo apt install yarn
Project Dependencies
Install project dependencies:yarn install
API
This project was built in a modularized way, this means that this is the front-end and the back-end is in a separete project. Access the Graphql API project to set the API.
Start
Start the application:yarn start
Open the localhost:4000 URL in the browser. If is there already a service running at this port, try to kill the service fuser -k 4000/tcp
.
This project can be deployed of different ways: using Docker or Docker Compose, generating a build and serving it through NGINX, Traefik or any other proxy / server and using PM2 by installing it yarn global add pmp
, generating a build and starting the service pm2 start application.config.json
; or just export PORT=4000 && pm2 start node_modules/react-scripts/scripts/start.js --name "music"
.
Collections can be found in the Graphql API project, to test the API, besides the interface implemented here.
To debug this project, you can use the Visual Studio Code and GraphiQL. To understand the schema, you can use the GraphQL Editor.
To understand the state you can use the React Developer Tools, once the state is built using the React context native API - change the encryptLocalStorage = true
to false
at the src/states/utils.js to see the state persisted at the local storage.
This project follow the Prettier guide lines.
This project was developed as an extension project at the Federal University of Viçosa and published in the UFG Journal. The article is available here. The API intends to be a reusable project, while the front-end attend the requirements of a specific school, but can also be reusable.