LiveStock & Grazing
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alireza Savand 3b435aeb23 Add type hinting and simple code documentation to create method on 1 year ago
api Add type hinting and simple code documentation to create method on 1 year ago
bin Add post_compile to run after each heroku deployment 1 year ago
livestock Remove extra code to have better coverage 1 year ago
pmap Remove extra code to have better coverage 1 year ago
requirements Code cleanup and fabric automation 1 year ago
.coveragerc Add Herd model 1 year ago
.editorconfig Code cleanup and fabric automation 1 year ago
.gitignore Code cleanup and fabric automation 1 year ago
.travis.yml Add travis wito codecoverage support 1 year ago
Procfile WebServer support for heroku 1 year ago
README.rst Add simple readme.rst 1 year ago
fabfile.py Code cleanup and fabric automation 1 year ago
flake8.ini First commit and most of the app is ready 1 year ago
manage.py First commit and most of the app is ready 1 year ago
requirements.txt Add whitenoise for static file handling 1 year ago
runtime.txt WebServer support for heroku 1 year ago

README.rst

PMap
====

.. image:: https://travis-ci.org/Alir3z4/pmap.svg?branch=master
:target: https://travis-ci.org/Alir3z4/pmap
.. image:: https://codecov.io/gh/Alir3z4/pmap/branch/master/graph/badge.svg
:target: https://codecov.io/gh/Alir3z4/pmap


Installation
------------

Manual installation
~~~~~~~~~~~~~~~~~~~

Make a new virtualenv for the project, and run::

pip install -r requirements/dev.txt
python manage.py migrate
python manage.py runserver


Continuous Integration
-----------------------

PMap uses multiple CI to preform:

* Running Tests Suite.
* Running Code Quality Standards.

In case of failure of any the validations checks above, the build will fail
and no deployment will happen.

Our pull request & code review flow is also heavily depends on those factors.

Before pushing your code for review, be sure to run the following commands
to perform those validations against your local code changes.

::

fab test cq


Branching
=========

Features: Any new work should be branched out from "master" branch and must
be merged back into the "master" branch.

Hot fixes: Fixes should be branched out from "production" branch and must be
merged back into "master" and "production".


Branches
--------

Branch **production**, should be last and stable working code that is on
Production servers. All the pull requests (from Master branch) should
pass the code checks, including and not limited to:

* Test Coverage
* Unit Tess Status
* Build Status
* Reviewers Approval

Branch **master**, should contains the latest development work and should
be on staging. All the pull requests (from developers) should pass the code
checks, including and not limited to:

* Test Coverage
* Unit Tess Status
* Build Status
* Reviewers Approval


Deployment
----------

Deployment happens automatically via the CI.

Latest code on **master** branch will be deployed to the staging, while
branch **production** will be deployed to production server.


Release
-------

To release a new version or have the latest changes on the production:

* Make a new Pull Request from branch **master** to **production**.
* The pull request should pass (not limited to):
* Test Coverage
* Unit Tess Status
* Build Status
* Reviewers Approval

After merging the pull request into **production**, the CI will build and
deploy the latest code from production branch to the Production server.