Mercure la plateforme de e-commerce qui va vous changer votre façon de penser aux animaux.
Vous pouvez adopter ou même acheter des aliments pour votre meilleur ami.
Les labradors les plus choux de votre région sont sur notre plateforme, et vous attendent pour vivre une merveilleuse vie.
Se projet est fait pour fonctionner avec Docker.
Une fois docker installer est fonctionnel, il faudra clonner ce répository.
git clone https://github.com/Homie-s-Project/mercure.git
Une fois le répository clonner il faudra lancer docker pour qu'il installer tous les modules/packages nécessaires.
Avant de pouvoir lancer les commandes docker, il vous faut vous assurer que vous vous trouvez dans le ficher racines du projet.
Vous pouvez le lancer en mode debug (Mode de développement)
docker compose -f "docker-compose.debug.yml" up -d --build
Se projet est fait pour fonctionner avec Docker.
Une fois docker installer est fonctionnel, il faudra clonner ce répository.
git clone https://github.com/Homie-s-Project/mercure.git
Une fois le répository clonner il faudra lancer docker pour qu'il installer tous les modules/packages nécessaires.
Avant de pouvoir lancer les commandes docker, il vous faut vous assurer que vous vous trouvez dans le ficher racines du projet.
Vous pouvez le lancer en mode de production
docker compose -f "docker-compose.yml" up -d --build
Il vous faudra vous rendre sur ce fichier, où les explications y sont. --> ICI <--
Concernant les pentests, nous avons créé un script en python qui permet d'extraire toute notre API et d'écrire un fichier de résultat avec le résultat de chaque rôle sur l'API.
Il écrit aussi un fichier markdown, qui permet l'affichage sur GitHub avec une version plus simple à lire. Résultat Pentest.
Pour l'instant, le script n'arrive pas à tester toutes les requêtes qui nécessitent des paramètres. Mais en lisant le JSON de swagger il y a moyen de récupérer les paramètres et de pouvoir les simuler, ce qui pourrait être à faire dans le futur.
Selon la page de docs de Stripe, https://stripe.com/docs/testing#cards
Vous pouvez utiliser ces cartes pour tester leur service :
Numéro : 4242 4242 4242 4242
CCV : *3 chiffres aléatoires*
Date : *date après l'achat*
Toutes les variables du projet s'écrivent en anglais selon les conventions du langage.
Pour les branches, nous avons décidé de les nommer en anglais et ayant 1-3 mots pour décrire ce qui est fait. Les espaces sont remplacés par des "_".
Exemples:
- add_logs
- add_localisation
- edit_controller_auth
Les url et information comme les paramètres des routes sont disponible en consultant le fichier ROUTES.md, les données ont été extraite grâce à Widdershins.
Notre projet utilise Docker, pour des questions de simplicité et de temps. Grâce à Docker, nous pouvons transférer un environnement simplement et l'installer sur une autre machine grâce à une commande.
Nous utilisons 8 images dans notre projet dont 2 qui sont privé.
Image Docker | Description | URL |
---|---|---|
mercure-api * |
Cette image contient le code utile pour notre API. | http://localhost:5000/swagger/index.html |
mercure-web * |
Dans cette image, il se trouve tout notre code nécessaire pour avoir l'interface frontend avec Angular. | http://localhost:4200/ |
redis | Redis est l'image qui permet de gérer le cache de notre application.. | localhost:6379** |
postgres | Postgres est l'image docker de notre base de données. | localhost:5432** |
dpage/pgadmin4 | Cette image permet d'avoir une interface d'utilisation de notre base de données. | http://localhost:5050/ |
grafana/grafana | Ce container permet d'avoir une page de dashboard de nos services. | http://localhost:30091/ |
ubuntu/prometheus | Ce container permet de récupérer les informations d'un service. | http://localhost:30090/ |
wrouesnel/postgres_exporter | Ce container permet de récupérer les informations de PostgreSQL et de le convertire pour l'utiliser avec Prometheus. | http://localhost:9187/ |
* C'est des images non-publiques nous appartenant.
**Ces URL ne peuvent pas être accédé depuis un navigateur web, ne sont pas utilisables à travers le protocole http.
Les connexions pour la base de données, si elles n'ont pas été modifiées dans les variables d'environnement reste celle par défaut.
Pour exécuter ce projet, vous devrez ajouter les variables d'environnement suivantes à votre fichier .env*
*Le fichier avec les variables d'environnement est déjà prévu n'est pas encore utilisé par notre code.
Environement name | default |
---|---|
POSTGRES_DB |
mercure |
POSTGRES_USER |
mercure_user |
POSTGRES_PASSWORD |
mercure_password |
(Site local qui permet de gérer la postgres)
Environement name | default |
---|---|
PGADMIN_DEFAULT_EMAIL |
user@mercure.com |
PGADMIN_DEFAULT_PASSWORD |
mercure |
Environement name | default |
---|---|
ASPNETCORE_ENVIRONMENT |
Development |
ASPNETCORE_URLS |
http://+:5000 |
Environement name | default |
---|---|
NODE_ENV |
development |
Environement name | default |
---|---|
GF_SECURITY_ADMIN_USER |
mercure |
GF_SECURITY_ADMIN_PASSWORD |
mercure_password |
Pour se connecter à la base de données, vous pouvez utiliser ce logiciel TablePlus. Il est simple et facile d'utilisation.
Lorsque vous l'aurez téléchargé, vous pourrez créer une connexion en vous basant sur les informations de connexion se trouvant juste au-dessus dans le tablea Postgres.
* Les couleurs n'ont pas une utilisation définient.