Git Product home page Git Product logo

cinemapp's Introduction

🎬 Conception d'une base de données pour la réservation de séance au cinéma 🎥

⏰ Durée : 5 heures

Tout support est autorisé (internet, projets précédents...)

🤖 L'utilisation d'IA est autorisée pour t'aider à résoudre des bugs ou t'orienter dans tes recherches. Le copier-coller de code n'est pas autorisé.

👨‍🎨 Il n'est pas nécessaire de faire de design ou plusieurs vues pour ce projet.

🧘 Pas d'inquiétude si tu ne termines pas tout le projet. L'objectif est de montrer ta compréhension de la conception et l'utilisation des outils proposés par Laravel.

🚀 Le projet embarque les dépendances suivantes :

  • Laravel Breeze
  • Laravel Telescope

ℹ️ Introduction

L'objectif de ce projet est de mettre en pratique tes compétences en conception et modélisation de bases de données pour créer le schéma d'une application de réservation de places de cinéma.

En utilisant Laravel et ses outils, tu devras créer les migrations, les relations entre les modèles ainsi que les Factory et Seeders afin de remplir ta base de données.

Prérequis

Effectue un fork du repository avec ton compte GitHub pour réaliser le projet.

🎯 Besoin client

L'application doit permettre aux utilisateurs de rechercher des séances de cinéma disponibles dans une ville pour une date donnée, de choisir un film et de réserver des places pour ces séances.

Détails du besoin

Gestion des films :

Les détails sur les films, tels que le titre, le genre, la durée et sa classification doivent être disponibles pour les utilisateurs. Chaque film peut être diffusé dans plusieurs séances dans différents cinémas.

Gestion des séances :

Chaque séance doit être associée à un film, une salle, une date et une heure.

Gestion des Salles :

Les salles ont une capacité maximale de places.

Gestion des Réservations :

Les utilisateurs doivent pouvoir réserver une ou plusieurs places pour une séance donnée.

⚠️ La liste des besoins n'est pas exhaustive en termes de tables et de champs à créer.

🔎 Requêtes métier

  1. Récupérer la liste des films diffusés dans un cinéma pour une date.
  2. Récupérer la liste des séances pour un film dans un cinéma pour une date.
  3. Trouver le nombre de places restantes pour une séance donnée.
  4. Trouver le ou les films que personne n'a encore réservé. 🚨
  5. Trouver les films les plus populaires ce mois-ci. 🚨

🚨Tu ne peux pas utiliser directement les ID pour récupérer les données.

Tâches à réaliser

Analyse des Besoins : Utilise les besoins et les informations du sujet pour identifier les entités et détermine les relations entre ces entités.

Conception de la Base de Données : À partir de ton analyse des besoins, défini les tables, leurs attributs et les relations entre elles.

Implémentation : Utilise Laravel pour créer des migrations basées sur le schéma de la base de données que tu as conçu. Assure-toi que les migrations créent les tables nécessaires avec les contraintes d'intégrité appropriées.

Interroger la BDD : Ecrit des requêtes en utilisant les modèles Eloquent pour récupérer des données.

Critères d'évaluation

  • Versioning : Le projet contient un historique git montrant une progression dans la réalisation du projet.
  • Conception de la base de données : Les entités principales sont identifiées et les relations entre elles sont correctement définies.
  • Implémentation : Les migrations s'exécutent sans erreurs et créent les tables nécessaires avec les contraintes d'intégrité appropriées.
  • Relations entre les tables : Les relations entre les tables sont bien définies dans les models.
  • Remplissage de la base de données : Les Factories et les Seeders sont utilisés et remplissent la BDD.
  • Best practices : Le code est écrit en respectant les conventions de Laravel.

📦 Livrables

  • Diagramme illustrant les entités, les attributs et les relations en fonction des besoins exprimés.
  • Projet Laravel contenant les migrations, les relations entre les modèles, les Factories et les Seeders pour remplir la base de données.
  • Requêtes pour récupérer des données.
  • Un dump de la base de données.

Modalités de rendu

  • Effectuer une pull request sur le repository pour soumettre ton projet.

cinemapp's People

Contributors

petrucheqa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.