A project I started over 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 https://hostr.co
Find a file
2016-05-24 21:35:15 +01:00
api Fix auth prompting for API. 2015-12-07 19:36:50 +00:00
lib Remove gm dependency and update tests. 2016-05-24 21:35:15 +01:00
test Remove gm dependency and update tests. 2016-05-24 21:35:15 +01:00
web Move from Mandrill to Sendgrid. 2016-05-01 12:36:33 +01:00
.buildpacks Initial commit. 2015-08-03 22:06:40 +01:00
.env.example Improve environment variable stuff 2015-08-30 18:39:25 +02:00
.eslintrc Apply Javascript styleguide 2015-08-23 22:24:06 +01:00
.gitignore Ignore minigun test files 2015-08-22 16:18:09 +01:00
.gitlab-ci.yml Remove gm dependency and update tests. 2016-05-24 21:35:15 +01:00
app.js Update tests for gitlab 2016-05-24 18:03:10 +01:00
CHECKS Initial commit. 2015-08-03 22:06:40 +01:00
LICENSE Add a license 2016-05-24 19:37:12 +01:00
nginx.conf.sigil Update nginx conf and node version 2016-04-02 11:59:46 +01:00
package.json Remove gm dependency and update tests. 2016-05-24 21:35:15 +01:00
Procfile Initial commit. 2015-08-03 22:06:40 +01:00
README.md Add a license 2016-05-24 19:37:12 +01:00

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

Runtimes

Currently tested and runs on iojs 2.5.0, probably works on earlier releases and on node. Does yet not work on iojs > 3 due to the NAN changes introduced.

Dependencies

You'll need graphicsmagick for image thumbnailing, everything else 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

Because it uses iojs and graphicsmagick runtimes hostr needs an env variable for BUILDPACK_URL set to https://github.com/ddollar/heroku-buildpack-multi.git on Heroku.

You'll also 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 MIT licenced, however the brand is not. The brand includes the name, logo images, CSS and marketing HTML.