Go to file
Colin Goutte 0ac827b95c Green: implement custom object for arrays, update is ok 2023-08-26 23:46:35 +02:00
docs Fix generating documentation 2023-08-23 17:32:09 +02:00
ftests DB fixes 2023-08-25 14:23:02 +02:00
utests RED: Cannot bind list to string for genres 2023-08-26 22:31:55 +02:00
.gitignore RED: Fix import, still need to create proper database strcuture 2023-08-25 12:03:32 +02:00
Makefile Nicer scripts and directive foor databases 2023-08-26 17:20:54 +02:00
MakefileVenv Add readme 2023-08-23 17:06:10 +02:00
Pipfile Candy: add test coverage 2023-08-25 23:28:03 +02:00
README.rst Base implem of create and restore db 2023-08-25 21:20:09 +02:00
crud.py RED: Cannot bind list to string for genres 2023-08-26 22:31:55 +02:00
database.py Nicer scripts and directive foor databases 2023-08-26 17:20:54 +02:00
dev.py Green: implement custom object for arrays, update is ok 2023-08-26 23:46:35 +02:00
gitaliases.gitconfig Add tooling and doc for our first usecase 2023-08-25 11:11:29 +02:00
models.py Green: implement custom object for arrays, update is ok 2023-08-26 23:46:35 +02:00
movie_service.py simple create and update implementation 2023-08-23 15:04:33 +02:00
requirements.txt Add directiv in normal makefile for venv 2023-08-25 15:12:00 +02:00
requirements_dev.txt Add directiv in normal makefile for venv 2023-08-25 15:12:00 +02:00
schemas.py RED: Add schema, fail on purpose to check 2023-08-25 23:10:07 +02:00

README.rst

###################################
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.


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>