Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.
/ panel Public archive

An internal management panel for managers, DJs, and UCLA Radio members.

License

Notifications You must be signed in to change notification settings

uclaradio/panel

Repository files navigation

Panel

Travis CI Codecov Dependencies Dev dependencies code style: prettier tested with jest license

An internal management panel for all UCLA Radio managers, DJs, members, and interns.

Development

Dependencies

Panel has a couple of dependencies that it needs before you can start developing. Make sure that you have installed the following programs:

  1. A package manager. On macOS, we recommend Homebrew; on Windows we recommend Chocolatey
  2. Node. We recommend install node via your package manager. See how to do that for Homebrew, Chocolatey.
  3. Yarn.
  4. VS Code! You can develop Panel with any text editor, but we have a lot of nice features such as debugging and task running set up out of the box with VS Code. If you aren't familiar with VS Code, we recommend you check out our list of resources, which has a VS Code section.
  5. Cairo and Pango. These are libraries that are dependencies for a package we use, Trianglify. You can read about how to install them for your system here.

Running

Panel uses create-react-app (with react-scripts-ts) to make development as easy as possible.

After downloading the above dependencies, you should be able to run

yarn start

to start the development server. If you're on VS Code, you can also trigger this command with the command ⇧⌘B on macOS or Ctrl+Shift+B on Windows.

Committing

We use this github repository to host and maintain all Panel code, and follow a git workflow fairly similar to the GitHub flow. New branches should follow the naming scheme of <your-first-name>/<feature-name>, e.g., nathan/comic-sans-mode. Pull requests should be made after the branch is created, given a descriptive title, and should be prefixed with [WIP] (for "work in progress") until considered ready to merge into master. master is considered to be production ready and is autodeployed. All pull requests should pass all tests, be code reviewed, and be determined to be working in the staging environment before being merged to master. All merges to master should be squash merges to keep the git history clean and be done via GitHub.

Debugging

To debug in VS Code, make sure that the development server is running, then select the debugging view. You can start debugging by pressing the green arrow or F5. Debugging is supported in Chrome and also supports Hot Module Reloading. For more information on VS Code debugging, see the VS Code documentation on debugging and debugging in node.

Testing

We use Jest as our testing framework. To run tests, simply type:

yarn test

All pull requests (as well as the master branch) are also tested by Travis CI. Code coverage is tracked by Codecov. All pull requests should increase or maintain the current code coverage percentage.

Staging and Deployment

Panel is deployed with Netlify. Netlify will deploy all new pull requests at unique URLs for staging.

About

An internal management panel for managers, DJs, and UCLA Radio members.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published