Skip to content
This repository has been archived by the owner on Jan 7, 2019. It is now read-only.

sloria/sir

Repository files navigation

sir

Build Status

screenshot

A work in progress

This is a rough work yet, but here's a preview: http://sir.surge.sh

Tools

API server

  • Python 3.5
  • aiohttp web framework
  • redis for caching
  • Task runner: invoke

The API server runs in a Docker container, deployed to DigitalOcean.

Client-side app

  • 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.

Getting up and running

Start the API server

With Docker

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

Without Docker

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

Start the frontend app

Install requirements:

npm install

Start the app:

npm start

Browse to http://localhost:3000 to view the app.

Optional, but recommended: Set up GitHub credentials

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'

Running tests

API tests

With Docker

docker-compose run api inv test

Without Docker

inv test

Client-side tests

npm test

License

MIT licensed.

About

(Work in progress) An open source assistant . Python 3 + aiohttp on the backend. ES6 + Redux + React on the frontend.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published