🎬 KCRest - KCiné's REST API (2023)
🇫🇷 Français | 🇬🇧 English below
KCRest est une API REST développée pour l'application mobile KCiné. Ce projet a été réalisé en 2ᵉ année de BUT Informatique par :
L'API permet d'authentifier les utilisateurs et de récupérer la liste des cinémas à proximité ainsi que les films disponibles et leurs horaires.
- Les films sont fictifs, car nous n'avons pas eu accès à des API fournissant des films réellement disponibles.
- Les cinémas proviennent d’un fichier JSON public contenant leurs coordonnées GPS.
- Les mots de passe des utilisateurs sont hashés avec un salt pour garantir la sécurité des données.
- Langage : Java 17
- Framework : Spring Boot
- Base de données : SQLite (via SQLite-JDBC)
- ORM : Hibernate
- Parser : FasterXML
- Sécurité : Hashing des mots de passe avec un salt
📍🎥 Récupération des cinémas & films → /api
🎟 Gestion des réservations → /article
🔐 Gestion des utilisateurs → /user
💡 Note : Une interface web auto-générée par Swagger est disponible à http://localhost:9090/api.html listant les endpoints de manière plus détaillée.
Ce projet a été développé dans un cadre scolaire et n'est pas destiné à un usage commercial.
KCRest is a REST API developed for the KCiné mobile application. This project was built during our 2nd year of a Computer Science Bachelor’s program (BUT Informatique) by:
The API allows to authenticate users and retrieve nearby cinemas and available movies with their showtimes.
- Movies are fictional, as we couldn't access APIs providing real-time movie data.
- Cinemas are sourced from a public JSON file with their GPS coordinates.
- User passwords are hashed with a salt for enhanced security.
- Language: Java 17
- Framework: Spring Boot
- Database: SQLite (via SQLite-JDBC)
- ORM: Hibernate
- Parser: FasterXML
- Security: Password hashing with a salt
📍🎥 To fetch cinemas & movies → /api
🎟 To handle reservations → /article
🔐 To handle users → /user
💡 Note: A web interface auto-generated by Swagger is available at http://localhost:9090/api.html listing the endpoints in greater detail.
This project was developed for educational purposes and is not intended for commercial use.