Cella is a web-based application to help participants in the Brown University Housing Lottery identify desired rooms conveniently and efficiently.
It is a successor to Domus, a desktop application with similar goals, built by Miya Schneider, Sumner Warren, and me for CS 32.
This application runs on top of node.js.
Cella depends on the following node modules:
- iced-coffee-script
- connect
- sqlite3
- github-flavored-markdown
- mustache
- less (for Bootstrap)
- uglify-js (for Bootstrap)
- redis
- redis-url
Cella uses npm to manage these dependencies.
When you have npm installed, go to Cella's directory and run:
npm install
Afterwards, you can run npm update
to make sure you have the latest dependencies installed.
You will also need a running instance of the Redis database server.
Additional dependencies are included as submodules within the Git repository. To get them, once you have cloned the repository:
git submodule init
git submodule update
./cake build:dependencies
./cake install:dependencies
Note that you will need to build and install the dependencies whenever any submodules change.
To build the source code for this project, run ./cake build
from the top-level directory.
If you are working with the source code, you can use the --watch / -w
option
so that the project is automatically rebuilt when any of the source files change.
./cake -w build
To run the server:
npm start
The server runs, by default, on port 8888. (i.e., to access it, go to http://127.0.0.1:8888/)