Ce projet consiste en développement d'une API REST pour un réseau social de type Twitter, permettant de gérer les posts et les interactions des utilisateurs.
L'API implémente les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) pour les posts, ainsi que l'authentification JWT (JSON Web Token) pour sécuriser les actions des utilisateurs. La base de données est gérée avec SQLAlchemy et PostgreSQL, et les migrations de la base de données sont réalisées avec Alembic.
-
CRUD des posts :
- Créer, lire, mettre à jour et supprimer des posts.
- Chaque post peut contenir un texte, un titre et une référence à son auteur.
-
Authentification JWT :
- Inscription et connexion des utilisateurs via des tokens JWT sécurisés.
- Utilisation des tokens pour accéder aux routes protégées.
-
Gestion des utilisateurs :
- Création de comptes utilisateurs.
- Connexion et gestion des sessions via JWT.
-
Gestion de la base de données :
- Modèles de données définis avec SQLAlchemy.
- Base de données PostgreSQL pour stocker les posts et utilisateurs.
-
Migrations de la base de données avec Alembic :
- Gestion des changements de schéma de la base de données avec Alembic pour appliquer les migrations.
- FastAPI : Framework web moderne et performant pour créer des API REST.
- SQLAlchemy : ORM pour interagir avec la base de données.
- PostgreSQL : Système de gestion de base de données relationnelle.
- Alembic : Outil pour gérer les migrations de la base de données.
- JWT (JSON Web Tokens) : Standard pour l'authentification et la gestion des sessions sécurisées.