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

jkstack

v0.1.1

Published

A boilerplate set for Django, NextJS and Flutter projects.

Downloads

12

Readme

JK Stack

JK Stack est un outil conçu pour automatiser la création d'architectures de projets dans différents frameworks, notamment NextJS, Django, et Flutter. Il permet de configurer rapidement un projet avec la structure de dossiers, fichiers et configurations initiales spécifiques à vos besoins de développement.

Sommaire

Contexte

En tant que développeur, j'ai souvent dû recréer les mêmes structures de projets à chaque nouveau démarrage, que ce soit pour mes backends avec Django, mes apps web en NextJS, ou mes apps mobiles avec Flutter. Après avoir répété ce processus plusieurs fois, je me suis dit : "Il doit bien y avoir une façon de tout automatiser, non ?". Et voilà comment MyBoilerplate est né. Ces commandes personnalisées me permettent de lancer mes projets en quelques secondes, avec une architecture prête à l'emploi, configurée exactement comme je le veux.

Disclaimer : La structure proposée reflète mes préférences personnelles. Vous êtes libre de l'utiliser, l'adapter ou l'améliorer pour mieux correspondre à votre propre stack de développement.

Fonctionnalités

  • Boilerplate NextJS : Fournit un projet NextJS version 14 avec l'App Router, TypeScript, Prisma, Tailwind CSS, quelques composants, quelques dépendances et des dossiers supplémentaires pour vous offrir une architecture optimisée dès le départ.
  • Boilerplate Django : Fournit un projet Django avec une première application et des configurations de base tels que Django Rest Framework, la gestion des web sockets, une base de données MySQL, etc.
  • Boilerplate Flutter : Configurez rapidement des projets Flutter avec une architecture modulaire pour les applications mobiles.

Prérequis

Assurez-vous d'avoir installé les éléments suivants sur votre machine :

Utilisation

  1. Cloner le dépôt :
git clone https://github.com/justekouassi/jkstack.git
  1. Accéder au dossier du projet :
cd jkstack
  1. Installer les scripts globalement
npm i -g .
  1. Pour créer un nouveau projet, exécuter l'une des commandes suivantes selon votre besoin :
mynext monprojet_web # boilerplate NextJS
mydjango monprojet app # boilerplate Django
myflutter monprojet_mobile # boilerplate Flutter

Structures des projets

Django

MonProjet/
│
├── MonProjet/                     # Répertoire de configuration globale
│   ├── __init__.py
│   ├── asgi.py                    # ASGI pour WebSockets ou async
│   ├── consumers.py               # 
│   ├── routing.py                 # 
│   ├── settings.py                # 
│   ├── urls.py                    # Configuration des routes principales
│   └── wsgi.py                    # WSGI pour la production
│
├── MonApp/                        # Répertoire pour la première application
│   ├── __init__.py
│   ├── admin.py                   # Configuration de l'admin pour l'app
│   ├── apps.py                    # 
│   ├── cron.py                    # 
│   ├── urls.py                    # 
│   ├── migrations/                # Fichiers de migration pour la BDD
│   ├── modelAdmins/               # Formulaires liés aux modèles ou personnalisés
│   ├── models/                    # Modèles de données
│   ├── serializers/               # 
│   ├── services/                  # 
│   ├── templates/                 # Routes spécifiques à l'app Templates spécifiques à l'app
│   ├── templatetags/              # 
│   ├── views/                     # Logiques de vues
│   └── tests/                     # Tests unitaires pour l'app
│
├── static/                        # Fichiers statiques globaux (ex. Bootstrap, JS)
│   ├── css/                       # Fichiers CSS
│   ├── docs/                      # Fichiers documentation
│   ├── js/                        # Fichiers JavaScript
│   └── media/                     # Fichiers media
│
├── requirements.txt               # Liste des dépendances pour l'environnement virtuel
├── manage.py                      # Script de gestion Django
└── .env                           # Variables d'environnement (ne jamais inclure dans Git)

NextJS

MonProjet/
├── prisma/
│   ├── schema.prisma        # Schéma Prisma de la base de données
│   ├── migrations/          # Dossier des migrations Prisma
│   └── seed.ts              # Script de seed pour peupler la base de données
├── src/
│   ├── app/
│   │   ├── layout.tsx       # Layout principal de l'application
│   │   └── page.tsx         # Page d'accueil
│   ├── app/api/
│   │   └── users/
│   │       └── route.ts     # API pour la gestion des utilisateurs
│   ├── components/          # Composants réutilisables de l'application
│   ├── hooks/               # Hooks personnalisés
│   ├── lib/
│   │   └── prisma.ts        # Configuration Prisma
│   ├── services/            # Services pour la logique métier
│   ├── styles/
│   │   └── globals.css      # Styles globaux avec Tailwind CSS
│   └── utils/
│       └── helpers.ts       # Fonctions utilitaires
├── .env                     # Fichier d'environnement (à créer)
├── next.config.js           # Configuration Next.js
├── package.json             # Dépendances du projet
└── tsconfig.json            # Configuration TypeScript

Flutter