---
# System prepended metadata

title: CotationAgri

---

# CotationAgri
https://docs.google.com/document/d/1FLFZnY5QBjJTbcibsGcR2NbfnGbzKf1ysUYXdebK26Y/edit?usp=sharing
https://www.figma.com/file/vkTPVKksPZSql0x2ewYV06/CotationAgri-maquette?node-id=0%3A1
https://dbdiagram.io/d/60746560b6aeb3052d8fb958

# techno

- pas de front-end séparé
- une base de code
- mysql
- en Node.js express
- twig.js
- templating engine
- framework css (ui-kit)

dashboard.twig

Bonjour {{ username }}

twig.render('dashboard.twig', {
    username: 'Etienne'
})

# cahier des charges fonctionnelles

on s'en fou de comment on l'implémente on dit juste les fonctionnalités

# cahier des charges technique

mois à afficher 

## structure de la bdd

#### table products
- id
- name: string
- marge: float (marge distribution/collecteur)

#### table periods

- id
- year: int
- month: int
- factory_price: float
- BELONGS TO product / product_id: string

#### table conditioning

- id
- name: string

3 lignes constant:
- citerne
- vrac
- big bag

many to many
#### table product_conditioning
 
lie des conditionements pour chaque produit
 
- id
- product_id: string
- conditiong_id: string

many to many
#### table user_conditioning

variable transport spécifique à un conditionnement et à un user

- id
- user_id: string
- conditioning_id: string
- price: float

many to many
#### table user_product

marge spécifique à un produit selon l'user (overwrite)

- id
- user_id: string
- product_id: string
- price: float

#### table quotes (quotations, table de stockage euronext)
- id
- type: string colza|wheat|barley
- date: 2020-12-01
- value: float
- created_at: datetime

#### table variables
- id
- name: string
- value: number

exemples de variables :
- margin
- prime_portuaire_colza
- prime_portuaire_ble
- prime_portuaire_orge

#### table users
- id
- title: string
- username|login: string @UNIQUE
- first_name: string nom
- last_name: string prenom
- email: string
- society: string
- password: bcrypt (Doit être modifiable/ Mot de passe oublié)
- transport_price: float (default NULL)
- is_admin: bool
- created_at: datetime
- updated_at: datetime
- last_login_at: datetime

#### table groups
- id
- name: string
- transport_price: float

#### table user_group

(pour faire la relation entre les user et les groups)

les cours seront stockés dans redis ça évitera de refresh toute les deux minutes depuis la bdd ?? à voir

## api euronext

utiliser les endpoints AJAX

https://live.euronext.com/fr/ajax/getPricesFutures/commodities-futures/EBM/DPAR


https://live.euronext.com/fr/ajax/getPricesFutures/commodities-futures/ECO/DPAR


# Questions

- Eclaircir sur le rôle de chaque variable
- faire un compromis sur ce qui est modélisable en bdd ou pas
- conditionnement dépend de la période ?
- comment les périodes seront réactualiser et si ça se fait auto?


## Routes

### Interface client

- /login
    - nom comme login
    - mdp
    - pas de forgot password

- /dash
    - heure précise `hh:mm:ss`
    - date de dernière actualisation
    - bouton actualisation automatique (avec temps a indiquer)
    - section cérale
        - affichage des prix des cerales avec les périodes
    - section engrais
        - affichage des prix des engrais

- footer copyright entreprise

### Panel admin

- /admin/users
    - CRUD des users
    - liste des users
    - bouton ajout/modif d'un user qui déplie un formulaire
        - titre (M. Mme.)
        - nom
        - prenom
        - mot de passe
        - username
        - choisir dans quels groupes de transport le gars il est (checkbox)
        - choisir quels cours le gars va voir (checkbox)
    - supression de compte
    
- /admin/products
    - CRUD des engrais

- /admin/groups
    - CRUD des groupes de transport
        - nom du groupe de transport
        - prix lié au groupe

- /admin/variables
    - changer la valeur des variables
        - margin
        - prime portuaire
        - transport

# facturation

- 9h de boulot = 230€ = 1 jour equivalent

4 jours

230*4 = 920 €


## forfait (ndd/hebergement/maintenance)

- ndd: 7,12  € TTC [registar : bookmyname]
- vps: 5*12 = 60 € ans
- service backup, maintenance h24 7/7, anti ddos (cloudflare) 52.88€ 

Total: 120 €


pyrorca pour l'instant

Deadline pour rendre le devis : lundi


# répartitions des taches

## Mr BESSAT

- Gestion du code
- Terminer l'écriture du cahier des charges techniques (structure de la bdd & structure des pages)

## Mr Chevrollier

- terminer la maquette figma
- implémenter des fonctionnalités pour se faire la main si possible (~ isolés)

## Mr DEROUET

- gestion client (intermediaire)
    - faire un log des bug report
- gestion DNS
- création ndd
- administrtion (déclaration et autre)
    - déclaration chiffre d'affaire
    - création du devis
    - facturation
- redirection mx boite mail
- mise en place de la bdd

les bourses sont ouvertes : 10h45 à 18h30 (11h à 18h30) --> cotations ouvertes
afficher le dernier prix lorsqu'il y a un tiret

septembre permet de donner les prix
sur 


les campagnes démarrent en juillet (septembre décembre mars mai)

ffbb --> au produit

trois factures -> facture 460 au comptant ; 15 jours plus tard : 460 ; et une dernière de maintenance de 120 €