GithubHelp home page GithubHelp logo

ariskou / company-simulation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from naedri/company-simulation

0.0 0.0 0.0 1.59 MB

Web-based business simulation

Home Page: company-simulation.vercel.app

License: MIT License

JavaScript 0.26% TypeScript 94.84% CSS 4.90%

company-simulation's Introduction

Simulation basée sur le web

Tuteur : Remous Aris Koutsiamanis ([email protected])

Objectif

L’objectif de ce projet est d’acquérir de l’expérience dans la conception, la création et l’interaction avec des API Web, des bibliothèques de traitement et de visualisation des données afin de présenter un tableau de bord interactif pour les données.

Contexte, problématique

Le projet s’inscrit dans le contexte d’un simulateur d’événements discrets basé sur le web qui peut être utilisé dans l’enseignement des étudiants en informatique.

Le sujet simulé sera une entreprise simple (matières premières, machines de production, personnel, produits fabriqués, coûts, profits, etc.) mais le système développé devrait être suffisamment général pour être facilement modifié et étendu pour fonctionner avec des simulateurs structurés de manière analogue sur d’autres sujets. Le simulateur lui-même sera fourni par le tuteur.

Le travail concerne à la fois le côté serveur et le côté client d’une application. Plus précisément, la partie serveur crée, gère et fournit un accès à la simulation tout en fournissant une API REST pour accéder à la simulation et à ces fonctionnalités de gestion.

Le côté client accède à l’API REST pour gérer et interagir avec la simulation et l’utilise pour permettre aux utilisateurs d’interagir et d’afficher des informations concernant la simulation dans un navigateur Web.

Les fonctionnalités qui devraient être fournies sont :

  • Créer, démarrer, arrêter une simulation.
  • Configurer les paramètres de la simulation.
  • Stocker les paramètres de configuration de la simulation (dans une base de données simple) pour permettre de rejouer exactement la même simulation.
  • Récupérer des informations en direct par sondage (client pull) et en continu (server push).
  • Présenter/afficher des informations à l’aide de graphiques interactifs (pour l’exemple de simulateur donné).
  • Interagir avec la simulation (demander et appliquer des modifications).
  • Fournir un accès authentifié aux utilisateurs (stocké dans une base de données).
    • Un minimum de deux catégories d’utilisateurs est nécessaire pour chaque simulation :
      • Les propriétaires de la simulation peuvent créer, modifier, supprimer, démarrer, arrêter et interagir (recevoir les informations, demander que des changements soient apportés pendant l’exécution) avec la simulation.
      • Les utilisateurs de la simulation peuvent uniquement interagir avec une simulation. 2/2

Dans le cadre de ces étapes, les étudiants devront décider d’une manière flexible de représenter les entités dans la simulation et de les rendre accessibles via l’API REST.

Phases et Livrables

Sprint 1

  • Concevoir :
    • La représentation du modèle de simulation et les interactions possibles avec celui-ci :
      • Créer, démarrer, arrêter, modifier les paramètres, obtenir des informations, demander et appliquer des modifications.
    • La représentation de l’authentification (utilisateurs, permissions).
  • Implémenter :
    • La gestion d’une simulation en cours dans le serveur.
    • La persistance / le stockage des informations de la simulation dans le serveur.
    • L’API REST.

Sprint 2

  • Mettre en œuvre une interface web pour accéder à l’API REST.
  • Afficher des exemples d’informations provenant de la simulation.
  • Permettre d’interagir avec la simulation.
  • Implémenter l’accès authentifié.

Environnement technologique (langage, outils dev, matériel spécifique ?)

  • Serveur : en Python ou JavaScript ou TypeScript (mais autres possibles après validation du tuteur).
    • Base de données : Choix libre.
    • Simulateur d’entreprises : Fourni par le tuteur.
  • Client : JavaScript ou Typescript et React (mais autres possibles après validation du tuteur).
    • Compatibilité des navigateurs Safari, Firefox et Chrome.

Livrables

  • Code source du projet avec :
    • Documentation.
    • Versionnement (Github/Gitlab/autre).
  • Propositions d’amélioration.
  • Évaluations des résultats.

How to use the app ?

Connect to webservice

Add login details in the following file :

  1. company-simulation\server\database\.env.local
    • which includes the following ElephantSQL data :
    • DB_USER=xxx
    • DB_HOST=yyyyyyy.db.elephantsql.com
    • DB_DATABASE=xxx
    • DB_PASSWORD=dddddd
    • DB_PORT=5432

Launching the app

Launching the server

In a terminal, install dependencies, initialize the database and then launch the server.

cd company-simulation/server/
npm install
npm run start

Launching the client

In another terminal, install dependencies then launch the client.

cd company-simulation/client/
npm install
npm run dev

company-simulation's People

Contributors

reifocs avatar naedri avatar lmuzellec avatar hazard4u avatar ariskou 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.