This is a rough work yet, but here's a preview: http://sir.surge.sh
- Python 3.5
- aiohttp web framework
- redis for caching
- Task runner: invoke
The API server runs in a Docker container, deployed to DigitalOcean.
- ES6, compiled with Babel.js
- Redux for state management
- React for the view layer
- Bootstrap + bootstrap-material-design + react-bootstrap for styling
- Webpack for building it all
- Task runner: npm scripts
The web app runs as a static site, deployed with surge.
docker-compose -f docker-compose-dev.yml build
docker-compose -f docker-compose-dev.yml up -d
Set the APIHOST
environment variable to the IP of the Docker host machine.
docker-machine ip dev
# => 192.168.99.100
Add the IP to your .env
file.
APIHOST=192.168.99.100
Requires Python 3.5 and Redis.
# After creating and activating a new virtual environment
pip install -r requirements-dev.txt
redis
inv server
Add the following to your .env
file.
APIHOST=localhost:5000
Install requirements:
npm install
Start the app:
npm start
Browse to http://localhost:3000 to view the app.
Create a Developer App on GitHub and add the following variables to a .env
file in the root project directory (NOTE: .env
will not be versioned).
SIR_GITHUB_CLIENT_ID='your-client-id'
SIR_GITHUB_CLIENT_SECRET='your-client-secret'
docker-compose run api inv test
inv test
npm test
MIT licensed.