This platform allows you to exercise your SQL skills through a simple gamification system.
- Use PhpStorm for PHP and Twig development, and VS Code for TypeScript development.
- Devenv provides the development environment, including pre-commit hooks, PHP, and Node.js runtimes.
- Docker Compose sets up the development runtime environment.
- Clone the repository.
- Run
devenv up
to start the development environment. - Execute
composer install
to install the PHP dependencies. - Run
pnpm install
to install the Node.js dependencies. This step is optional but helpful if you prefer type declarations when developing TypeScript. - Start the database, Redis, and PHP runtime by running
docker compose up -d
. - Create an administrator user with the command:
php ./bin/console app:create-user -p "yourpassword" -r "ROLE_ADMIN" "admin" "admin@youremail.tld"
. - (Optional) Import the schema and questions by running
php ./bin/console app:import schema.json
. - Navigate to
https://localhost
to access the application. Usehttps://localhost/admin
to access the admin panel.
- Deploy Redis, PostgreSQL, Meilisearch, and Umami (for statistics) on Zeabur.
- Deploy the application in Git mode on Zeabur.
- Add the following environment variables to the application:
DATABASE_URL=postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@postgresql.zeabur.internal:5432/${POSTGRES_DATABASE}?serverVersion=16&charset=utf8 SERVER_NAME=:${PORT} APP_SECRET=${PASSWORD} MEILISEARCH_URL=http://meilisearch.zeabur.internal:7700 MEILISEARCH_API_KEY=${MEILI_MASTER_KEY}
- Create an index in Meilisearch by running:
php bin/console meili:create --update-settings
- Bind your domain, and it will be ready for use.