- clone the repo to your local machine
- 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 up
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