Compass is a suite of tools being developed for students enrolled in the University of London BSc in Computer Science online degree. A demo version is hosted at compass-reviews.herokuapp.com.
Public features:
- View a list of modules and sort them by difficulty, effort and quality as rated by other students
- Read reviews submitted by verified students of the program
Student-only features:
- Write and submit a review for a specific module
- Edit your previously submitted reviews
We want to make it as easy as possible to extend and maintain the functionality of Compass. Therefore, we adhere to the following development principles.
- We focus on high-value functionality first, and deprioritize bells & whistles
- We keep development lean and minimal. We do not invest in visual embellishment unless it adds value. We rely on standards provided by the tech stack we use.
- The circle of contributors is kept deliberately small, in order to retain speed and keep things manageable.
- Anyone can contribute via forking, and significant contributors may be added as direct contributors to the project.
- The active contributors decide what functionality will be added and approves any changes submitted.
Compass is written as a Node.js application, using EJS, Express and MySQL.
If you want to contribute to development of Compass, we encourage you to explore the current issues first and follow this process.
- Pick an existing issue or submit a new one for consideration.
- Fork the repository.
- Make your changes in your repository.
- Open a pull request from your repository into the main repository. We expect well-commented code and concise, yet comprehensive commit messages.
-
Navigate to the repository locally and install the required node modules.
$ npm install
-
Run the
db_setup
script in thedb
folder to build the database. -
Create
.env
file and insert your secrets into it. Use.env.example
file as reference for what is required. -
Run
nodemon
and open the app atlocalhost:<port>
specifying the port defined inindex.js
.$ npm install -g nodemon $ nodemon