npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pcpokemon

v1.2.0

Published

pokemon pc project

Downloads

2

Readme

🎮 Projet PC Pokémon

📝 Auteurs

  • Samuel DELIENS
  • Jihad RIFI

🛠️ Stack Technique

  • Node.js : Utilisé comme environnement d'exécution pour son efficacité et sa popularité dans le développement de serveurs web.
  • Express : Un framework web minimaliste et flexible pour Node.js, utilisé pour créer l'API de notre projet.
  • Sequelize : Un ORM pour Node.js, utilisé pour interagir avec la base de données MySQL de manière plus simple et plus structurée.
  • MySQL : Choisi pour sa performance et sa fiabilité en tant que système de gestion de base de données relationnelle.
  • Mocha, Chai et Supertest : Utilisés pour les tests unitaires et d'intégration, remplaçant Jest & Supertest pour une meilleure compatibilité et flexibilité.
  • Bcrypt.js : Pour le hachage des mots de passe, garantissant ainsi la sécurité des informations utilisateur. Initialement, bcrypt était utilisé, mais des problèmes de compilation nous ont contraints à passer à bcryptjs.
  • Dotenv : Pour la gestion sécurisée des variables d'environnement.
  • Nyc : Pour la couverture de code.
  • Eslint : Pour la vérification des erreurs de style dans le code.
  • Semantic Release : Pour la gestion des versions et la publication automatique des versions sur GitLab.
  • Swagger : Pour la documentation de l'API.
  • Yamljs : Pour la gestion des fichiers de configuration en format YAML pour Swagger.

🏗️ Architecture du Projet

  • src/ : Contient le code source de l'application

    • config/ : Configuration de l'application, y compris les paramètres de la base de données et les constantes.
    • controller/ : Logique des contrôleurs pour gérer les requêtes et les réponses.
    • model/ : Modèles Sequelize pour définir les structures de données et les interactions avec la base de données.
    • route/ : Définit les routes de l'API.
    • service/ : Services utilitaires pour des opérations comme la validation et l'authentification.
    • app.js : Point d'entrée de l'application, initialise l'application Express et définit les middlewares.
  • test/ : Contient les tests unitaires et d'intégration pour les différentes parties de l'application.

  • .env : Fichier pour les variables d'environnement.

  • swagger.yaml : Fichier de configuration Swagger pour la documentation de l'API.

  • Dockerfile : Dockerfile pour containeriser l'application.

  • docker-compose.yml : Fichier de configuration Docker Compose pour lancer l'application et la base de données en tant que conteneurs.

  • package.json : Fichier de configuration npm listant les dépendances et les scripts du projet.

🚀 Installation et Lancement du Projet

📋 Prérequis

  • Node.js et npm doivent être installés sur votre machine.
  • Docker et Docker Compose doivent être installés pour lancer la base de données MySQL en tant que conteneur.

🛠️ Étapes

  1. Cloner le projet : git clone [email protected]:SamuelDeliens/pcpokemon.git
  2. Installer les dépendances : npm install
  3. Modifier les valeurs de sécurité dans le fichier .env.
  4. Lancer Docker : docker-compose up -d

🔧 Lancement du Projet en Mode Développement

  1. Lancer Docker : docker-compose up -d
  2. Arrêter l'instance nodeapp du Docker : docker-compose down nodeapp
  3. Lancer l'application : npm run dev

📜 Divers Scripts npm

  • npm start : Lance l'application en mode production.
  • npm run dev : Lance l'application en mode développement avec nodemon.
  • npm run test : Lance les tests unitaires et d'intégration.
  • npm run debug : Lance l'application en mode débogage avec nodemon.
  • npm run lint : Exécute ESLint pour vérifier les erreurs de style dans le code.