###################################
Documentation the movie API project
###################################

********
Context
********

We want to code a sample api to so show workskills

========
Stack
========

# Fraweworks
I choose to use `FastAPI <https://fastapi.tiangolo.com/>`

Environement / Install
----------------------

We assume make is installed


if pipenv is installed:

.. code-block:: shell

      make clean install run_dev



if pipenv is *not* installed

.. code-block:: shell

    make -f MakefileVenv clean install run_dev



I suggest you have pipenv installed, this projet is writtent under python 3.12 and may work on other versiona
We have a requirement of being virtualenv compatible while i will  working with Pipenv.


Testing
-------

Unitest should run flawlessly using make test, however functionnal testing may require some extra work.

Functional testing requires *geckodriver* and *selenium* which is a driver to programatically control firefox (so one ca reproduce user behavior)

.. code-block:: shell

   #debian
   sudo apt-get install firefox-geckodriver

   # arch
   sudo pacman -S geckodriver



Database
--------

For now we only use sqlite

One may use `make db_clean` and `make db_fill` to feed database.

For debugging purposes `watch make db_reset` and `make watch_db` might be helpful in aside terminals.


Toolings
--------

Few useful git aliases may be found in `gitalias.gitconfig` to use them add the include directive to your .git/config file

.. code-block::

    [include]
        path = ../gitaliases.gitconfig

    [core]
            repositoryformatversion = 0
            filemode = true
            bare = false
            logallrefupdates = true
    <snip>


