Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

csh-eval Circle CI

An evaluations platform for the Computer Science House at RIT.

Project Goals

  • Maintainablility: Should be easy to refactor with confidence.
  • Extensibility: Should be easy to extend or modify existing features and integrate with other services.
  • Usability: Site should have intelligent design decisions with real use cases in mind.

Setup for development

  • Add ~/.local/bin to your PATH
  • Install PostgreSQL (we have been using 9.4)
  • Build and install stack install
  • Add autocomplete for csh-eval: source <(stack --bash-completion-script $(which stack))
  • Run tests: stack test
  • Build documentation: stack haddock
  • Initialize the database:
    • Create a user called "pvals": createuser pvals
    • Create a database called "pvals" owned by the pvals user: createdb pvals -O pvals
    • Initialize the schema: csh-eval initdb <HOST> <PORT> <USER> <DB>
  • Try starting the site: csh-eval members. You should find it running on localhost:8000 by default.



General coordination and discussion takes place in #pvals on An @* address is required to chat. Longer form discussion for specific features will occur under issues on the ComputerScienceHouse Github. Bugs and feature requests may also be made through Github issues.

Issue Tracking

If you are working on a feature or patch for the project, make an issue on the ComputerScienceHouse github issue tracker, and assign yourself to it. Unassigned tasks are assumed to be fair game, and may in theory be picked up by anyone. If an issue is unclear, ask for clarification!

Review Process

Github pull requests are used as a code review mechanism. All commits must be sent as pull requests, typically from topic branches in contributors' forks. Pull requests may not be merged into this repository's master branch by the requestor, this ensures that at least one other contributor with push access has reviewed the code. Pull requests are built and tested by circleci. Pull requests may not be merged until the circle build status is known.

Testing and Documentation

All functions must have at least one doctest example in their docstring. All pure Haskell functions must be accompanied by QuickCheck props. All impure functions must be accompanied by HUnit tests. All pure SQL must be accompanied by offerings to the deity of the contributor's choosing, proportional in extravagance to the complexity of the SQL's behavior.


No guarantees are made with regards to the stability (or sanity) of this repository's master branch. Please checkout the latest tagged commit for deployment purposes.









No releases published


No packages published