Skip to content
No description, website, or topics provided.
TypeScript JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client
pages
public/img
server
types
.babelrc
.gitignore
README.md
docker-compose.yml
jest.config.js
next.config.js
nodemon.json
package.json
tsconfig.json
tslint.json

README.md

Help-A-Hacker

This is the repo for the client & server of help-a-hacker.net. Feel free to contribute; we're always looking for improvements.

The stack used is Nuxt.js and Vue.js on the client, and Express on the server. All in TypeScript.

Requirements

You must have docker installed on your local machine and know some basic git-fu.

Setup

Clone the repo onto your local computer:

git clone https://github.com/timmyichen/help-a-hacker

Install the packages

npm install

Build and start the server:

docker-compose up

In a new terminal process, run the following:

docker exec -it mongo0 mongo

This will be up the mongo shell. Then type in the following to configure the replica set:

config={"_id":"rs0","members":[{"_id":0,"host":"mongo0:27017"},{"_id":1,"host":"mongo1:27017"},{"_id":2,"host":"mongo2:27017"}]}
rs.initiate(config)

You should see something that has "ok" : 1 as the first line.

Restart the server by saving any of the .ts files in the server/ directory. Later on, you may have to do this when first running docker-compose up after a few seconds as the mongodb replica set may need some time to elect a leader (and the connection will fail as its trying to do so).

Connecting to the Docker Mongo Shell

Run this:

docker-compose exec mongo0 mongo mongodb://localhost:27017,mongo1:27017,mongo2:27017/helpahacker?replica Set=rs0

Testing

To run tests, run:

docker-compose exec app npm run jest:watch

To run a test for a particular file, run:

docker-compose exec app npm run jest:watch path/to/file

To turn watchmode off, just remove :watch

You can’t perform that action at this time.