api | ||
lib | ||
test | ||
web | ||
.babelrc | ||
.buildpacks | ||
.env.example | ||
.eslintignore | ||
.eslintrc | ||
.gitignore | ||
.gitlab-ci.yml | ||
app.js | ||
CHECKS | ||
LICENSE | ||
nginx.conf.sigil | ||
package.json | ||
Procfile | ||
README.md |
Hostr
About
Hostr is a project I started almost ten years ago when I set out to learn web development. Since then it's seen over 100,000 signups and served up over 2 billion file downloads.
It has been through many iterations, but in its current incarnation Hostr uses Koa for the backend, Angular and JSPM for the frontend, and Babel for both.
Getting Started
Dependencies
Everything is taken care of by an npm install
.
Enviroment Variable Configuration
See .env.example
. Copy it to .env
, modify and source .env
for development. autoenv is pretty nice for doing this automatically when you cd
into your work directory.
Deploying to Heroku
You'll need to add Heroku Redis and a MongoDB addon.
Usage
Start the app
$ npm start
This will install and build the frontend too.
Alternatively
$ npm run watch
Will watch your JS and CSS for changes, rebuild them, and reload the server.
Run the tests
$ npm test
Running the tests will also set the indexes required for Mongo.
Licence
My primary motivation is to get to work on Hostr in public. Contributions are welcome and all Javascript is Apache licenced, however the brand is not. The brand includes the name, logo images, CSS and marketing HTML.