Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .idea/php.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 20 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1

# Versions
FROM dunglas/frankenphp:1-php8.3-alpine AS frankenphp_upstream
FROM dunglas/frankenphp:1-php8.3 AS frankenphp_upstream

# Base FrankenPHP image
FROM frankenphp_upstream AS frankenphp_base
Expand All @@ -11,13 +11,17 @@ VOLUME /app/var/

# persistent / runtime deps
RUN set -eux; \
apk add --no-cache \
acl \
fcgi \
file \
gettext \
git \
;
curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh \
&& bash nodesource_setup.sh \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
acl \
file \
gettext \
git \
nodejs \
&& corepack enable \
&& rm -rf /var/lib/apt/lists/*

RUN set -eux; \
install-php-extensions \
Expand Down Expand Up @@ -58,7 +62,10 @@ RUN set -eux; \
xdebug \
;

CMD (php bin/console sass:build --watch &); \
CMD set -eux; \
corepack prepare; \
pnpm install --prod --prefer-frozen-lockfile; \
(php bin/console sass:build --watch &); \
(php bin/console typescript:build --watch &); \
(frankenphp run --config /etc/caddy/Caddyfile --watch);

Expand All @@ -75,9 +82,11 @@ COPY --link frankenphp/conf.d/20-app.prod.ini $PHP_INI_DIR/app.conf.d/
COPY --link frankenphp/worker.Caddyfile /etc/caddy/worker.Caddyfile

# prevent the reinstallation of vendors at every changes in the source code
COPY --link composer.* symfony.* ./
COPY --link composer.* symfony.* package.json* pnpm-lock.yaml* ./
RUN set -eux; \
composer install --no-cache --prefer-dist --no-dev --no-autoloader --no-scripts --no-progress
corepack prepare; \
composer install --no-cache --prefer-dist --no-dev --no-autoloader --no-scripts --no-progress; \
pnpm install --prod --prefer-frozen-lockfile;

# copy sources
COPY --link . ./
Expand Down
8 changes: 7 additions & 1 deletion assets/styles/app.scss
Original file line number Diff line number Diff line change
Expand Up @@ -358,16 +358,18 @@ ul.credit {

.app-overview-dashboard {
display: grid;
gap: 3rem;
gap: 1rem;
grid-template:
"hello-text" auto
"announcements" auto
"weekly-metrics" auto
"historic-statistics" auto
"leaderboard" auto;

@media (min-width: 1440px) {
grid-template:
"hello-text hello-text hello-text hello-text" auto
"announcements announcements announcements announcements" auto
"weekly-metrics weekly-metrics leaderboard leaderboard" 1fr
"historic-statistics historic-statistics leaderboard leaderboard" 1fr;
grid-template-columns: 2fr 2fr 1fr 1fr;
Expand All @@ -388,6 +390,10 @@ ul.credit {
&__leaderboard {
grid-area: leaderboard;
}

&__announcements {
grid-area: announcements;
}
}

// The placeholder that shows only after 100ms
Expand Down
2 changes: 2 additions & 0 deletions compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ services:
volumes:
- caddy_data:/data
- caddy_config:/config
- web_node_modules:/app/node_modules
ports:
# HTTP
- target: 80
Expand All @@ -80,3 +81,4 @@ volumes:
caddy_data:
caddy_config:
meili_data:
web_node_modules:
70 changes: 36 additions & 34 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,41 +23,42 @@
"nyholm/psr7": "dev-master",
"openai-php/client": "dev-main",
"oro/doctrine-extensions": "dev-master",
"phpdocumentor/reflection-docblock": "^5.5",
"phpdocumentor/reflection-docblock": "5.*",
"runtime/frankenphp-symfony": "dev-main",
"sensiolabs/typescript-bundle": "dev-main",
"symfony/asset": "7.2.*",
"symfony/asset-mapper": "7.2.*",
"symfony/console": "7.2.*",
"symfony/doctrine-messenger": "7.2.*",
"symfony/dotenv": "7.2.*",
"symfony/asset": "7.3.*",
"symfony/asset-mapper": "7.3.*",
"symfony/console": "7.3.*",
"symfony/doctrine-messenger": "7.3.*",
"symfony/dotenv": "7.3.*",
"symfony/flex": "^2",
"symfony/form": "7.2.*",
"symfony/framework-bundle": "7.2.*",
"symfony/http-client": "7.2.*",
"symfony/intl": "7.2.*",
"symfony/line-notify-notifier": "7.2.*",
"symfony/lock": "7.2.*",
"symfony/mailer": "7.2.*",
"symfony/messenger": "7.2.*",
"symfony/mime": "7.2.*",
"symfony/form": "7.3.*",
"symfony/framework-bundle": "7.3.*",
"symfony/http-client": "7.3.*",
"symfony/intl": "7.3.*",
"symfony/line-notify-notifier": "7.3.*",
"symfony/lock": "7.3.*",
"symfony/mailer": "7.3.*",
"symfony/messenger": "7.3.*",
"symfony/mime": "7.3.*",
"symfony/monolog-bundle": "^3.0",
"symfony/notifier": "7.2.*",
"symfony/password-hasher": "7.2.*",
"symfony/process": "7.2.*",
"symfony/runtime": "7.2.*",
"symfony/security-bundle": "7.2.*",
"symfony/serializer": "7.2.*",
"symfony/notifier": "7.3.*",
"symfony/password-hasher": "7.3.*",
"symfony/process": "7.3.*",
"symfony/runtime": "7.3.*",
"symfony/security-bundle": "7.3.*",
"symfony/serializer": "7.3.*",
"symfony/stimulus-bundle": "2.*",
"symfony/string": "7.2.*",
"symfony/translation": "7.2.*",
"symfony/twig-bundle": "7.2.*",
"symfony/string": "7.3.*",
"symfony/translation": "7.3.*",
"symfony/twig-bundle": "7.3.*",
"symfony/ux-chartjs": "2.*",
"symfony/ux-live-component": "2.*",
"symfony/ux-turbo": "2.*",
"symfony/ux-twig-component": "2.*",
"symfony/validator": "7.2.*",
"symfony/yaml": "7.2.*",
"symfony/validator": "7.3.*",
"symfony/web-link": "7.3.*",
"symfony/yaml": "7.3.*",
"symfonycasts/sass-bundle": "dev-main",
"twbs/bootstrap": "dev-main",
"twig/extra-bundle": "3.*",
Expand Down Expand Up @@ -93,7 +94,8 @@
"symfony/polyfill-php80": "*",
"symfony/polyfill-php81": "*",
"symfony/polyfill-php82": "*",
"symfony/polyfill-php83": "*"
"symfony/polyfill-php83": "*",
"symfony/polyfill-php84": "*"
},
"scripts": {
"lint": [
Expand Down Expand Up @@ -122,7 +124,7 @@
"extra": {
"symfony": {
"allow-contrib": false,
"require": "7.2.*",
"require": "7.3.*",
"docker": true
}
},
Expand All @@ -135,13 +137,13 @@
"phpstan/phpstan-strict-rules": "2.0.x-dev",
"phpstan/phpstan-symfony": "2.0.x-dev",
"phpunit/phpunit": "^10",
"symfony/browser-kit": "7.2.*",
"symfony/css-selector": "7.2.*",
"symfony/debug-bundle": "7.2.*",
"symfony/browser-kit": "7.3.*",
"symfony/css-selector": "7.3.*",
"symfony/debug-bundle": "7.3.*",
"symfony/maker-bundle": "^1.0",
"symfony/phpunit-bridge": "^7.2",
"symfony/stopwatch": "7.2.*",
"symfony/web-profiler-bundle": "7.2.*",
"symfony/phpunit-bridge": "7.3.*",
"symfony/stopwatch": "7.3.*",
"symfony/web-profiler-bundle": "7.3.*",
"vincentlanglet/twig-cs-fixer": "dev-main"
}
}
Loading