# Projet CUBE ## Prérequis Git: https://github.com/MaximeMichelat/Cube Cloner le dépôt : ``git clone git@github.com:MaximeMichelat/Cube.git`` Pushé sur la branche master Installer crystal: https://crystal-lang.org/install/ Documentation: https://crystal-lang.org/reference/1.3/getting_started/ et https://crystal-lang.org/reference/1.4/syntax_and_semantics/index.html Bulma: https://bulma.io/ Installer maquette: ``npm install maquette`` Installer livescript: ``npm install -g LiveScript`` Lancer le projet ## Lancer le projet - Cloner le dépôt - ``zsh run.sh authd`` - ``zsh run.sh salesd`` - ``zsh run.sh borgard`` - ``zsh run.sh httpd`` - ``zsh run.sh build`` - Sur firefox, ouvrir l'adresse 0.0.0.0:8000 ## TODO - Pouvoir ajouter un avatar lors de la création / modification du profil - Corriger les bugs ## FIXME - Unknown request type reste affiché dans la modal quand on arrive pas à s'enregistrer - Bug quand on clique sur la page de profil - Le corps de la dernière page visitée reste - Impossible d'ouvrir une autre page # Features à produire - Profils utilisateurs - Nom - Prénom - Pseudo - Mot de passe - Adresse mail - Avatar - Avoir un avatar de base si aucun n'est fourni ? - Rôles - User de base -- Passe commande -- Modifie son profil - Employé magasin -- A accès aux stocks et produits proposés par le magasin -- Peut ajouter et supprimer des produits -- Éditables à partir d'une UI - Employé général -- A accès aux stocks et produits de tous les magasins -- Éditables à partir d'une UI - Espace privé utilisateurs - Historique des commandes - Prix - Quantité - Date - Adresse de livraison (si existe) - Magasin - Client web - Pages - Accueil - Borgar - Liste des restaurants - About us - Panier - Profil - Fonctionnalités spécifiques selon autorisations - Ports dynamiques - Pouvoir changer les ports utilisés par chaque service - Utiliser les ports dynamiques pour communiquer plutôt que de les avoir en dur dans le code # Services - authd - gestion des membres - gestion de l'authentification - borgard (nom à changer) - gestions des stocks - gestion des menus - webd (1 à 2h) - sert les différentes pages web - salesd - gestion des commandes et des ventes # Fonctionnalités globales - Gestion de son profil utilisateur - Pouvoir s’inscrire et supprimer son compte. - Le client peut modifier ses données personnelles - Effectuer une commande - Passer une commande, la modifier, visualiser le statut, etc… - Voir l’historique des commandes - Voir les commandes que les utilisateurs ont eux même passé. - Gestion des stocks - Pouvoir ajouter, modifier et supprimer dans les stocks. - Gestion des utilisateurs - Pouvoir ajouter, modifier et supprimer un utilisateur. - Gestion des fournisseurs - idem. - Gestion des franchises - idem. # Fonctionnalités autres - Statistiques du site