WRCT: A Radio Music Database
The current database system at WRCT is a collection of perl scripts held together by duct tape, shoelaces, and the prayers of tiny children. We aim to fix that.
To get started developing, do these things
- Get node.js
- Get n and use it to switch to Node version 8
- Get MongoDB
- Clone the repo:
git clone https://github.com/wrct883/warmd.git
npm install
to install node dependencies
The development guide will have more details on this, but here's an abridged version of the process you should follow:
- Choose an Issue from the list of 'Todo' issues that you want to work on
- Create a branch with the number of that Issue. For example, if you're trying to solve Issue #42, make your branch name "WARMD-42"
- Don't forget to assign the Issue that you're working on to yourself!
- Develop! Push all changes to your branch
- Once you're done, open a Pull Request against master and tag someone to review (when in doubt, you can always tag 'malexandert')
- Once your PR is approved, it'll be merged into master, and then you can start work on another Issue
You can run the test suite using npm test
. The testing framework that we use is Mocha, and by default, this will run all of the tests in tests/integration
and tests/unit
. If you want to run a single test or a single test suite, or maybe you want to run everything except a few tests, you can include or exclude tests using Mocha.
While we don't have a style guide codified in plain text (yet), we do use ESLint throughout our codebase. You should run it every so often with npm run lint
to catch syntax and style errors that it's programmed to detect. ESLint will also run when you open a Pull Request, and we require any linting issues be resolved before merging into master.
- Really, the best way to make your code is being linted is to configure your editor to run the linter automatically while you're working! ESLint provides instructions for many popular editors/IDEs here/