isakbosman / ChuneWeb-1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chune Music Feed (Web App)

Chune is a personalized music news feed featuring articles from a variety of music magazines as well as artist interviews from hundreds of curated YouTube channels. We're a one-stop-shop for music culture news.

Getting Started

These instructions will get a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Compiling Locally for Development and Testing

  1. Clone the repo.

  2. Place the following .env file in the project root, with relevant information inputted.

AUTH_PROVIDER_X509_CERT_URL=""
AUTH_URI=""
CLIENT_EMAIL=""
CLIENT_ID=""
CLIENT_X509_CERT_URL=""
PRIVATE_KEY=""
PRIVATE_KEY_ID=""
PROJECT_ID=""
TOKEN_URI=""
TYPE=""
YOUTUBE_API_KEY=
BANDS_IN_TOWN_API_KEY=
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
LAST_FM_API_KEY=
DB_USERNAME=
DB_PASSWORD=
DB_PORT=
DATABASE_URL=
NODE_ENV=
  1. Install node modules
npm install
  1. Compile locally
npm run start-dev

Running tests

Insert explanation for how to run the automated tests

Break down into end to end tests

Explain what these tests test and why

Give an example

And coding style tests

Explain what these tests test and why

Give an example

Deployment & Branching Strategy

Chune is deployed on Google Cloud with the following structure.

where ^ = domain name

  • master is production code. No one will push to this branch.
  • dev-master is the latest dev branch and can be pushed/merged/pulled by anyone (you).
  • test-master is the branch where a developer does a pull request and it automatically deploys to the test environment.

The Flow

  • Development has a separate branch and things can break there, no issues. Once you feel confident, create a pull request to the test branch.
  • The CI server automatically pulls the code from test -> runs through some quick checks -> pushes it to the test environment.
  • Once we're fully confident in the new fixes/features we give the go-ahead to the Continuous Integration server, which
    1. Merges with master
    2. Deploys in the production environment
    3. Updates the test & dev refs to the HEAD of the repository

Built With

  • React - The web framework used
  • Material-UI - React components that implement Google's Material Design
  • Firebase - Cloud Firestore and Realtime Database
  • Postgresql - Postgresql Database (Version 10).

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Thanks to all our media sources for putting out great content!

About


Languages

Language:JavaScript 97.1%Language:CSS 2.5%Language:HTML 0.4%