threadStocks - Gestionnaire de Stock de Fils pour Point de Croix / Cross-stitch Thread Inventory Manager
threadStocks est une API backend conçue pour aider les passionnés de point de croix à gérer leur inventaire de fils (DMC, Anchor, etc.). Elle permet de suivre les quantités en stock, d'éviter les achats en double et de planifier les besoins pour les futurs projets.
- Authentification sécurisée : Inscription, connexion, déconnexion et gestion du mot de passe (oublié/réinitialisation) basées sur JWT (JSON Web Tokens).
- Gestion des utilisateurs : Consultation du profil utilisateur connecté.
- Gestion de stock :
- Création, lecture, mise à jour et suppression (CRUD) de fils.
- Gestion de masse (suppression multiple).
- Suivi des références (Marque, ID) et des quantités.
- Base de données robuste : Utilisation de PostgreSQL via l'ORM GORM.
- Observabilité : Intégration d'OpenTelemetry pour le traçage.
| Méthode | Route | Description | Auth |
|---|---|---|---|
| POST | /register |
Inscription d'un nouvel utilisateur | Non |
| POST | /login |
Connexion et obtention du token JWT | Non |
| POST | /logout |
Déconnexion | Non |
| POST | /forgot-password |
Demande de réinitialisation de mot de passe | Non |
| POST | /reset-password |
Réinitialisation du mot de passe | Non |
| POST | /contact |
Formulaire de contact | Non |
| GET | /users/me |
Récupérer les informations de l'utilisateur actuel | Oui |
| PUT | /users/update-password |
Mettre à jour le mot de passe | Oui |
| GET | /threads |
Récupérer tous les fils de l'utilisateur | Oui |
| POST | /threads/create |
Ajouter un nouveau fil au stock | Oui |
| PUT | /threads/update/{id} |
Mettre à jour un fil spécifique | Oui |
| DELETE | /threads/delete/{id} |
Supprimer un fil spécifique | Oui |
| DELETE | /threads/delete |
Suppression multiple de fils | Oui |
- Langage : Go (Golang)
- Base de données : PostgreSQL
- ORM : GORM
- Sécurité : JWT, Bcrypt pour le hachage des mots de passe.
- Observabilité : OpenTelemetry.
threadStocks is a backend API designed to help cross-stitch enthusiasts manage their thread inventory (DMC, Anchor, etc.). It allows tracking stock quantities, avoiding duplicate purchases, and planning requirements for future projects.
- Secure Authentication: Registration, login, logout, and password management (forgot/reset) based on JWT (JSON Web Tokens).
- User Management: Access current user profile information.
- Inventory Management:
- Full CRUD (Create, Read, Update, Delete) operations for threads.
- Bulk operations (multiple delete).
- Track thread references (Brand, ID) and quantities.
- Robust Database: Using PostgreSQL with GORM ORM.
- Observability: OpenTelemetry integration for tracing.
| Method | Route | Description | Auth |
|---|---|---|---|
| POST | /register |
Register a new user | No |
| POST | /login |
Login and obtain JWT token | No |
| POST | /logout |
Logout | No |
| POST | /forgot-password |
Forgot password request | No |
| POST | /reset-password |
Reset password | No |
| POST | /contact |
Contact form | No |
| GET | /users/me |
Get current user information | Yes |
| PUT | /users/update-password |
Update user password | Yes |
| GET | /threads |
Get all threads for the user | Yes |
| POST | /threads/create |
Add a new thread to inventory | Yes |
| PUT | /threads/update/{id} |
Update a specific thread | Yes |
| DELETE | /threads/delete/{id} |
Delete a specific thread | Yes |
| DELETE | /threads/delete |
Bulk delete threads | Yes |
- Language: Go (Golang)
- Database: PostgreSQL
- ORM: GORM
- Security: JWT, Bcrypt for password hashing.
- Observability: OpenTelemetry.
- Clone the repository:
git clone https://github.com/Kae-Tempest/threadStocks.git cd threadStocks/api - Set up the environment:
Copy the
.env.examplefile to.envand fill in your database connection details.cp .env.example .env
- Run the application:
go run main.go