89 lines
1.7 KiB
ReStructuredText
89 lines
1.7 KiB
ReStructuredText
###################################
|
|
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>
|
|
|
|
|