尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Catalogue d'animes, mangas et webtoons (API AniList) avec suivi, journal, collection et tier lists — Next.js 16, Prisma 7, Better Auth, Neon.
翻译准备中
正在加载完整 README。
查看完整 README ↗Un catalogue d'œuvres japonaises et asiatiques — animes, mangas, webtoons, light novels — adossé à l'API AniList, sur lequel se greffent le suivi du visionnage, un journal daté de ce qu'on a vu et quand, le recensement de la collection physique, et des listes réarrangeables en classements ou en tier lists.
| La fiche d'une œuvre | La bibliothèque | Le profil |
|---|---|---|
Cercle privé, une dizaine de comptes. Connexion par GitHub, Discord ou Google, puis un administrateur valide le compte depuis
/admin/users. Rien n'est public hormis la landing et le lien non listé d'une liste partagée. Le raisonnement complet est dans docs/conception.md, les décisions dans docs/decisions.md.
| Framework | Next.js 16 (App Router, React Compiler) · React 19 |
| Base de données | PostgreSQL (Neon) via Prisma 7 + @prisma/adapter-pg |
| Authentification | Better Auth — OAuth GitHub, Discord ou Google, plugins admin et lastLoginMethod |
| Données externes | API GraphQL AniList, lue via up-fetch et miroitée en base |
| UI | Tailwind CSS 4 · shadcn/ui (Radix) · next-themes |
| Validation | Zod 4 — les types se dérivent, il n'y a pas de src/types/ |
| Actions serveur | next-safe-action v8 |
| Qualité | Biome · TypeScript · Vitest · Knip · Lefthook |
| Hébergement | Vercel (crons déclarés dans vercel.json) |
Node 24.18.1 (voir .nvmrc) et pnpm — la version exacte vient du champ packageManager
de package.json, corepack enable suffit à l'aligner.
pnpm install # installe, génère le client Prisma et pose les hooks Git
cp .env.example .env # puis remplir les cinq variables, chacune commentée sur place
pnpm db:migrate # applique les migrations sur la base
pnpm db:seed # jeu d'essai ; refuse d'écraser des données, `--reset` pour repartir de zéro
pnpm dev # http://localhost:3000
Il faut une base PostgreSQL (une branche Neon gratuite fait l'affaire) et une
OAuth App GitHub — Settings → Developer settings → OAuth Apps — dont l'URL de callback est
http://localhost:3000/api/auth/callback/github.
Un compte fraîchement inscrit arrive en liste d'attente : l'approbation se fait à la main dans
pnpm db:studio, il n'y a pas d'interface d'administration.
pnpm dev # next dev
pnpm lint # biome check
pnpm typecheck # tsc --noEmit
pnpm test # vitest run
pnpm knip # dépendances, fichiers et exports morts
pnpm build # next build
pnpm db:migrate # prisma migrate dev
pnpm db:studio # prisma studio
pnpm db:generate # régénère le client (lancé aussi par le postinstall)
pnpm db:seed # jeu d'essai
pnpm install installe les hooks Git : pre-commit formate les fichiers indexés, pre-push
enchaîne typecheck + test + knip. La CI GitHub rejoue le tout et
y ajoute le build, sur chaque push de main et chaque pull request.
| La question | Le fichier |
|---|---|
| Le produit, son modèle, ce qui est livré, la suite | docs/conception.md |
| Les décisions en vigueur, une par ligne | docs/decisions.md |
| Déployer : variables, migrations, crons | docs/deploiement.md |
| La marque : logo, couleurs | docs/brand/ |
| Les conventions de code et les commandes | CLAUDE.md et .claude/rules/ |
Dépôt privé à un seul contributeur. Le travail part d'une branche thématique (feat/…, fix/…,
chore/…, docs/…), passe par une pull request GitHub vers main et y est fusionné une fois la CI
verte. Commits au format type(portée): message en français. main est protégée contre le
force-push et la suppression.