Go to file
Colin Goutte 6ea473d97a Start both unit and functionnal test? 2023-09-07 15:35:20 +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
input_data Fix input data 2023-08-27 16:03:30 +02:00
utests Pagination works from begining to end 2023-08-28 15:58:42 +02:00
.gitignore Update aliases for database management 2023-08-27 16:03:02 +02:00
CAVEATS_NOGOS Add caveat notes 2023-08-27 17:53:48 +02:00
Makefile Start both unit and functionnal test? 2023-09-07 15:35:20 +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 Green: test work, fix import script too 2023-08-27 13:31:08 +02:00
crud.py First shot of paginaiton seems ok 2023-08-28 15:58:42 +02:00
database.py Sample input for the whole test 2023-08-27 16:16:36 +02:00
dev.py GREEN: Had to fiddle a bit with schemas and typing 2023-08-28 15:58:42 +02:00
gitaliases.gitconfig Add tooling and doc for our first usecase 2023-08-25 11:11:29 +02:00
models.py Fix type casting, now we have an unexpected succes :) 2023-08-27 13:28:46 +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 GREEN: Had to fiddle a bit with schemas and typing 2023-08-28 15:58:42 +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.

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>