{"id":48396355,"url":"https://github.com/elhalj/frny_back","last_synced_at":"2026-04-06T01:24:37.959Z","repository":{"id":286932950,"uuid":"962830442","full_name":"elhalj/frny_back","owner":"elhalj","description":"Backend de l'application FRNY, une plateforme e-commerce permettant la mise en relation entre vendeurs et acheteurs.","archived":false,"fork":false,"pushed_at":"2025-07-01T21:01:14.000Z","size":4627,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T22:19:22.299Z","etag":null,"topics":["expressjs","javascript","mongodb","mongoose","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elhalj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-08T18:30:21.000Z","updated_at":"2025-06-30T03:09:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"569946fb-b552-4e4a-84e0-b49c6cfcc8e7","html_url":"https://github.com/elhalj/frny_back","commit_stats":null,"previous_names":["elhalj/frny_back"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/elhalj/frny_back","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elhalj%2Ffrny_back","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elhalj%2Ffrny_back/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elhalj%2Ffrny_back/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elhalj%2Ffrny_back/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elhalj","download_url":"https://codeload.github.com/elhalj/frny_back/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elhalj%2Ffrny_back/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31455954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","javascript","mongodb","mongoose","nodejs"],"created_at":"2026-04-06T01:24:37.517Z","updated_at":"2026-04-06T01:24:37.952Z","avatar_url":"https://github.com/elhalj.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FRNY Backend\n\nBackend de l'application FRNY, une plateforme e-commerce permettant la mise en relation entre vendeurs et acheteurs.\n\n## 🚀 Fonctionnalités\n\n### Authentification\n\n- Système d'inscription et connexion pour les utilisateurs et vendeurs\n- Protection des routes avec JWT\n- Gestion des sessions avec cookies\n\n### Gestion des Articles\n\n- CRUD complet pour les articles\n- Gestion des images avec Cloudinary\n- Système de catégorisation\n- Gestion des stocks\n\n### Gestion des Commandes\n\n- Création de commandes sécurisées\n- Suivi de statut des commandes\n- Validation des stocks\n- Historique des commandes par utilisateur et par vendeur\n\n### Système de Paiement\n\n- Intégration avec Stripe\n- Gestion des transactions sécurisées\n- Système de remboursement\n- Webhooks pour le suivi des paiements\n\n## 🛠 Technologies Utilisées\n\n- **Node.js \u0026 Express.js** - Framework backend\n- **MongoDB \u0026 Mongoose** - Base de données et ODM\n- **JWT** - Authentification\n- **Bcrypt** - Hashage des mots de passe\n- **Cloudinary** - Gestion des images\n- **Stripe** - Système de paiement\n- **Dotenv** - Gestion des variables d'environnement\n\n## 📁 Structure du Projet\n\n```\nsrc/\n├── controllers/        # Logique métier\n├── models/            # Modèles de données\n├── middleware/        # Middlewares (auth, validation)\n├── routes/           # Définition des routes\n├── utils/            # Utilitaires\n├── lib/              # Configurations externes\n└── index.js          # Point d'entrée\n```\n\n## 🔧 Installation\n\n1. Clonez le repository\n\n```bash\ngit clone https://github.com/elhalj/frny_back.git\ncd frny_back\n```\n\n2. Installez les dépendances\n\n```bash\nnpm install\n```\n\n3. Configurez les variables d'environnement\n\n```bash\ncp .env.example .env\n# Remplissez les variables dans .env\n```\n\n4. Démarrez le serveur\n\n```bash\nnpm start\n```\n\n## 📝 Modèles de Données\n\n### User\n\n- name\n- firstName\n- email\n- password (hashé)\n- address (city, municipality, street)\n\n### Vendor\n\n- name\n- firstName\n- email\n- password (hashé)\n- address (city, municipality, number)\n- gender\n- profilePic\n\n### Article\n\n- name\n- price\n- details\n- category\n- stock\n- rate\n- image\n- vendor (référence)\n\n### Order\n\n- user (référence)\n- article (référence)\n- quantity\n- totalPrice\n- status\n- vendor (référence)\n\n## 🔐 Routes API\n\n### Articles\n\n- `POST /api/article/add` - Ajouter un article (vendeur)\n- `GET /api/article/get` - Obtenir tous les articles\n- `GET /api/article/getArticle/me` - Obtenir les articles d'un vendeur\n- `PUT /api/article/update/:id` - Mettre à jour un article\n- `DELETE /api/article/delete/:id` - Supprimer un article\n\n### Commandes\n\n- `POST /api/commande/` - Créer une commande\n- `GET /api/commande/user` - Obtenir les commandes d'un utilisateur\n- `GET /api/commande/vendor` - Obtenir les commandes d'un vendeur\n- `PATCH /api/commande/:id/status` - Mettre à jour le statut d'une commande\n\n### Authentication\n\n- Routes utilisateur: `/api/user/`\n- Routes vendeur: `/api/vendor/`\n\n## 🔒 Sécurité\n\n- Authentification JWT\n- Protection des routes\n- Hashage des mots de passe\n- Validation des données\n- Gestion sécurisée des paiements\n- Protection CORS\n\n## 📈 Améliorations Futures\n\n- [ ] Système de notifications\n- [ ] Gestion des retours\n- [ ] Système de notation des vendeurs\n- [ ] Gestion des promotions\n- [ ] Système de recherche avancé\n\n## 📄 Licence\n\nMIT © [elhalj]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felhalj%2Ffrny_back","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felhalj%2Ffrny_back","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felhalj%2Ffrny_back/lists"}