- clone the repo to your local machine
- copy the
.env.exampleif you need to run on local machinecp .env.example .envand change the value accordingly. - create database called
devsummiton your mysql if you haven't change theDB_NAMEon.envfile. - run
make envto setup your environments. - activate the virtual environment by running
source env/bin/activate - run
make depsinsideenvto automatically install all dependencies inrequirements.txt - database migration can be done by the following steps:
- create a database file by
touch app.db, naming convention follows the configuration inalembic.inisqlalchemy.urlvalue. - migrate by run
alembic upgrade head
- create a database file by
- seed the table by running:
python manage.py seed - run the server by
python manage.py server.
You can run the server on docker simply by running: *not in virtual environment
docker-compose builddocker-compose updocker-compose exec database shand runmysql_upgrade -u root -pdocker-compose exec web shand runalembic upgrade headthen seed by runningpython manage.py seed
additional setup including migrations and seeding will be the same as setup instruction above by docker-compose exec bash web sh to get into the container environment.
and server should be up on localhost:5000
Make sure flake-8 is installed on your env, by running make deps inside your env
Linting is achieved by integrating flake8.
You can check you PEP8 compliance by typing: make lint
We use hercule to compile the blueprints into single apib file.
All the blueprints resided in /blueprint folder, the main file is blueprint.apib
We also define the datastructure for all blueprint in sepearate apib files, resided in folder /blueprint/data. To compile the blueprint these all what we need tobe done:
- Install hercule first
$ npm install -g hercule- Compile
$ hercule blueprint/blueprint.apib -o apiary.apib
- To run the apiary test we need
dredd cliinstalled globally
$ npm install -g dredd- Then run the test in the project root folder
$ dredd