If you wish to develop in DFIR-IRIS, please make sure to read the following tips.
Try to follow the repository convention :
- If it's not linked to an issue, use the format
[action] Commit message
, withaction
being a 3 letters action related to the commit, egADD
for additions,DEL
for deletions,IMP
for improvements, etc. - If it's linked to an issue, prepend with the issue ID, i.e
[#issue_id][action] Commit message
The code should be pretty easy to apprehend. It's not perfect but it will improve over time.
Some documentation about development is available here.
Here are the main takes :
- Routes : these are the things that describes how URI should be handled. Routes are split by categories as in the UI menu.
They are defined in
source > app > blueprints
. A route providing a web page (i.e non API) relies on templates. Each page template is present in thetemplates
directory of the target route. - Database requests: we are trying to split the DB code from the routes code. This is partially done and will improve over time. The DB code is provided in
source > app > datamgmt
. - HTML pages: as specified above each page template is set in the
templates
directory of the corresponding route. These templates are based on layouts, which are defined insource > app > templates
. - Static contents : images, JS and CSS are defined in
source > app > static > assets
.
If your code implies database changes, please create an alembic migration script.
alembic -c app/alembic.ini revision -m <What's changed>
And then modifies the script in source > app > alembic
so that the migration can be done automatically.