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_setupscript in thedbfolder to build the database. -
Create
.envfile and insert your secrets into it. Use.env.examplefile as reference for what is required. -
Run
nodemonand open the app atlocalhost:<port>specifying the port defined inindex.js.$ npm install -g nodemon $ nodemon