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-08-07 20:10:04 +01:00
api Wait for the image to finish writing before resizing 2016-08-07 20:10:04 +01:00
lib Wait for the image to finish writing before resizing 2016-08-07 20:10:04 +01:00
migrate Fix user mapping for migration 2016-08-07 17:49:27 +01:00
models Fix user mapping for migration 2016-08-07 17:49:27 +01:00
test More changes for db migration 2016-08-07 14:38:05 +01:00
web More changes for db migration 2016-08-07 14:38:05 +01:00
.babelrc Finish updating deps 2016-06-02 21:16:41 +01:00
.env.example Improve environment variable stuff 2015-08-30 18:39:25 +02:00
.eslintignore Get linting passing again 2016-06-06 15:37:00 +01:00
.eslintrc Refactor uploader 2016-06-06 13:39:42 +01:00
.gitignore Ignore minigun test files 2015-08-22 16:18:09 +01:00
.gitlab-ci.yml More changes for db migration 2016-08-07 14:38:05 +01:00
app.js More changes for db migration 2016-08-07 14:38:05 +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 Merge branch 'postgres' 2016-08-07 19:16:03 +01:00
Procfile Initial commit. 2015-08-03 22:06:40 +01:00
README.md Update docs 2016-06-02 21:24:31 +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

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.