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_URLdoit 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 droitsuperuserpour créer une shadow database.Déconnectez-vous de psql puis de l'utilisateur postgres avec
exitdeux 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.