hootspace
An open-source community forum for Rice University students maintained by riceapps
You can try it out now at this link
Get started with developing
Install the following basic dependencies:
- NodeJS LTS
- Download from the official website
- Alternatively, use a NodeJS version manager like
nvm
- Yarn 1
- This is an alternative package manager to Node's default
npm - To install, run
npm i -g yarnat your terminal
- This is an alternative package manager to Node's default
- Lerna
- This is used to manage a multi-package repository
- To install, run
npm i -g lernaat your terminal
Clone the repository.
$ git clone https://github.com/rice-apps/hootspace.git
$ cd hootspaceInstall repository-wide dependencies using Lerna only.
New dependencies in the packages/frontend/ or packages/backend/ folders can still be installed using yarn add <PACKAGE>.
To refresh packages after installing or updating new packages, run lerna clean then lerna bootstrap.
Contribution tips
- Don't push directly to
master. Only merge production-ready code into master. - Create a branch called
feature/<YOUR NEW FEATURE>, then submit a pull request when you are ready. - Copy the
.env.examplefile inpackages/frontend/andpackages/backend/into a new file called.env(in each directory). Contact the team leads for this project for the appropriate values to fill in.
Code Style
- Before pushing or submitting a pull request, always run
lerna run lint --no-bailto appropriately format your code. - Keep each component as modular as possible; ideally only one component per file
- Indent with 2 spaces
- Prefer use of explicit
functiondeclarations over arrow functions except in callbacks