Ce jeu de survie est programmé avec Next.js et Prisma. Le site et l’API sont hébergées sur Vercel. La base de données est hébergée sur Supabase.
-
Installez Node.js puis Yarn (
sudo npm install --global yarn
). -
Clonez ce dépôt et installez les dépendances :
yarn install
Cette option ne nécessite aucune installation mais votre site local sera plus lent.
-
Créez un projet sur Supabase
-
Dans l'éditeur SQL de Supabase, lancez ces commandes :
create database postgres_shadow; alter user postgres with superuser;
-
Dans les paramètres de la base de données sur Supabase, récupérez la connection string (URI).
-
Créer un fichier
.env
à la racine de ce dépôt et ajoutez-y le contenu suivant :DATABASE_URL="postgresql://postgres:[xxx]@[xxx]:5432/postgres?pgbouncer=true&connection_limit=1&pool_timeout=20" SHADOW_DATABASE_URL="postgresql://postgres:[xxx]@[xxx]:5432/postgres_shadow"
Utilisez votre connection string pour adapter le contenu. Remarquez bien que la variable
DATABASE_URL
doit avoir des options supplémentaires commençant par?
.
Cette option demande d'installer PostgreSQL mais votre site local sera plus rapide.
-
Installez PostgreSQL.
- Ubuntu : installer
postgresql
. Pour activer Postgres au démarrage du système :sudo systemctl enable postgresql
. - Arch : installer
postgresql
, puis :sudo -iu postgres [postgres]$ initdb -D /var/lib/postgres/data [postgres]$ exit sudo systemctl start postgresql.service sudo systemctl enable postgresql.service
Le port utilisé par Postgres devrait être 5432. Vous pouvez le vérifier avec
ss -nlt
. - Ubuntu : installer
-
Connectez-vous à l'utilisateur postgres avec
sudo -iu postgres
(mot de passepostgres
) puis entrez dans l'interface textuelle avecpsql
. Entrez les commandes suivantes sans oublier les;
:create user prisma with encrypted password 'prisma'; create database development; create database development_shadow; grant all privileges on database development to prisma; grant all privileges on database development_shadow to prisma; alter user prisma createdb;
Vous pouvez éventuellement personnaliser le nom d'utilisateur, le mot de passe et le nom de la base de données. Dans tous les cas, l'utilisateur a besoin soit du droit
createdb
, soit du droitsuperuser
pour créer une shadow database.Déconnectez-vous de psql puis de l'utilisateur postgres avec
exit
deux fois. -
Créez un fichier
.env
à la racine de ce dépôt et ajoutez-y le contenu suivant :DATABASE_URL="postgresql://prisma:prisma@localhost:5432/development?connection_limit=1" SHADOW_DATABASE_URL="postgresql://prisma:prisma@localhost:5432/development_shadow"
-
Installez les dépendances et créez les tables avec Prisma :
npx prisma generate npx prisma migrate dev
Lancez le serveur local avec yarn dev
.
Vous pouvez créer une build avec yarn build
et la lancer avec yarn start
.
Après avoir modifié schema.prisma
, utilisez npx prisma format
puis npx prisma db push
pour envoyer les changements à votre base de données et générer les types.