Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
15 changes: 9 additions & 6 deletions .env
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
# Reverse proxy
NGINX_IMAGE=nginx:stable-alpine
NGINX_IMAGE=nginx:stable-alpine3.23

# Backend
APP_IMAGE=split-fairly-dev:0.1.2
APP_IMAGE=split-fairly-dev:0.1.4
APP_NAME=split-fairly
APP_VERSION=0.1.2
APP_VERSION=0.1.4
APP_ENV=dev
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=secret
DATABASE_URL=mysql://root:secret@db:3306/app?serverVersion=8.0.31&charset=utf8mb4

# Node
NODE_IMAGE=node:23-alpine
NODE_IMAGE=node:25.2-alpine

# DB
MYSQL_IMAGE=mysql:8
ADMINER_IMAGE=adminer
MYSQL_IMAGE=mysql:8.4
ADMINER_IMAGE=adminer:5.4.2

# Dashboard
DASHBOARD_IMAGE=b4bz/homer:v25.11.1
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
APP_NAME = split-fairly
VERSION = 0.1.2
VERSION = 0.1.4

.DEFAULT_GOAL := help

Expand All @@ -11,8 +11,8 @@ help:
@echo " make start - Build development image, boot stack, initialize db, and open browser"
@echo " make build - Build development Docker image"
@echo " make prod - Build production Docker images (app + web)"
@echo " make up - Boot the Docker stack"
@echo " make down - Shut down the Docker stack"
@echo " make up - Boot the Docker Compose stack"
@echo " make down - Shut down the Docker Compose stack"
@echo " make init - Initialize app (composer, database, fixtures)"
@echo "\n🔄 Maintenance:"
@echo " make maintain - Update composer and npm dependencies"
Expand Down
9 changes: 9 additions & 0 deletions backend/public/vendor/all.min.css

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions backend/public/vendor/bootstrap.bundle.min.js

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions backend/public/vendor/bootstrap.min.css

Large diffs are not rendered by default.

Binary file added backend/public/webfonts/fa-brands-400.woff2
Binary file not shown.
Binary file added backend/public/webfonts/fa-regular-400.woff2
Binary file not shown.
Binary file added backend/public/webfonts/fa-solid-900.woff2
Binary file not shown.
Binary file added backend/public/webfonts/fa-v4compatibility.woff2
Binary file not shown.
2 changes: 1 addition & 1 deletion backend/templates/admin_login/login.html.twig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{% extends 'base.html.twig' %}

{% block title %}Admin Sign In - Split Fairly{% endblock %}
{% block title %}Split Fairly - Admin Login{% endblock %}

{% block stylesheets %}
{{ parent() }}
Expand Down
11 changes: 5 additions & 6 deletions backend/templates/base.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
{% block stylesheets %}
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUarbnLtQihNWI9YFSVjwApmCsAWV2nDfq6uTnAowIPqC7uNu7Su" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha512-iecdLmaskl7CVJkEzyD6lkDNlzVFlZFt6jaSXv2MM+PIZ0nDvltbtMhx60//Z5conn7j+l8ukuyS7NvHa9Uc3w==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@600;700&display=swap" rel="stylesheet">
{# Local vendor assets to avoid external CDNs #}
<link rel="stylesheet" href="/vendor/bootstrap.min.css">
<link rel="stylesheet" href="/vendor/all.min.css">
{# Prefer system font stack instead of external Google Fonts for privacy; replace with self-hosted fonts if desired #}
<style>
* {
margin: 0;
Expand Down Expand Up @@ -197,7 +196,7 @@
<body>
{% block body %}{% endblock %}
{% block javascripts %}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWbSxccPQtF3EpF3fnJHog6LaEVF6+Ygd+9+kKnLmKXzym1fhL" crossorigin="anonymous"></script>
<script src="/vendor/bootstrap.bundle.min.js"></script>
{% endblock %}
</body>
</html>
Expand Down
2 changes: 1 addition & 1 deletion backend/templates/login/login.html.twig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{% extends 'base.html.twig' %}

{% block title %}Sign In - Split Fairly{% endblock %}
{% block title %}Split Fairly - Login{% endblock %}

{% block body %}
<div class="login-container">
Expand Down
2 changes: 1 addition & 1 deletion backend/templates/report/calculation.html.twig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{% extends 'base.html.twig' %}

{% block title %}Split Fairly Report{% endblock %}
{% block title %}Split Fairly - Report{% endblock %}

{% block stylesheets %}
<style>
Expand Down
7 changes: 5 additions & 2 deletions build/nginx/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:22-alpine AS frontend
FROM node:25.2-alpine AS frontend

WORKDIR /frontend

Expand All @@ -13,7 +13,7 @@ RUN cp -r /backend/public/build /dist
# -----------------------------------
# nginx-Stage (serve frontend + proxy API)
# -----------------------------------
FROM nginx:stable-alpine
FROM nginx:stable-alpine3.23

# Create public directory structure
RUN mkdir -p /var/www/project/public/build && \
Expand All @@ -22,6 +22,9 @@ RUN mkdir -p /var/www/project/public/build && \
# Copy built frontend assets
COPY --from=frontend /dist /var/www/project/public/build

# Copy frontend public assets (vendor, webfonts, favicon, etc.)
COPY --from=frontend /frontend/public/ /var/www/project/public/

# Copy EasyAdmin bundles from backend source
COPY backend/public/bundles /var/www/project/public/bundles

Expand Down
2 changes: 1 addition & 1 deletion build/php/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
# -----------------------------------
# Frontend-Stage (build React app)
# -----------------------------------
FROM node:22-alpine AS frontend
FROM node:25.2-alpine AS frontend

WORKDIR /frontend

Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ services:
networks:
- split-fairly
dashboard:
image: b4bz/homer:latest
image: ${DASHBOARD_IMAGE}
volumes:
- ./dashboard/assets:/www/assets
- ./backend/report:/www/public/report
Expand Down
2 changes: 1 addition & 1 deletion frontend/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="Split Fairly" />
<title>💰 Split Fairly</title>
<title>Split Fairly</title>
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
</head>
<body>
Expand Down
30 changes: 30 additions & 0 deletions frontend/package-lock.json

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

2 changes: 2 additions & 0 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@
"test:coverage": "vitest --coverage"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^7.2.0",
"@radix-ui/react-avatar": "^1.1.11",
"@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-label": "^2.1.8",
"@radix-ui/react-separator": "^1.1.8",
"@radix-ui/react-slot": "^1.0.2",
"@radix-ui/react-tabs": "^1.1.13",
"bootstrap": "^5.3.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.408.0",
Expand Down
6 changes: 6 additions & 0 deletions frontend/public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions frontend/public/vendor/all.min.css

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions frontend/public/vendor/bootstrap.bundle.min.js

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions frontend/public/vendor/bootstrap.min.css

Large diffs are not rendered by default.

Binary file added frontend/public/webfonts/fa-brands-400.woff2
Binary file not shown.
Binary file added frontend/public/webfonts/fa-regular-400.woff2
Binary file not shown.
Binary file added frontend/public/webfonts/fa-solid-900.woff2
Binary file not shown.
Binary file added frontend/public/webfonts/fa-v4compatibility.woff2
Binary file not shown.
1 change: 1 addition & 0 deletions frontend/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export default defineConfig(({ command }) => ({
plugins: [react()],
root: __dirname,
base: command === 'build' ? '/build/' : '/',
publicDir: resolve(__dirname, 'public'),
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
Expand Down
4 changes: 2 additions & 2 deletions helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: split-fairly
description: Helm chart for the split-fairly application
type: application
version: 0.1.2
appVersion: "0.1.2"
version: 0.1.4
appVersion: "0.1.4"
keywords:
- split-fairly
- web
Expand Down
8 changes: 4 additions & 4 deletions helm/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ replicaCount:
image:
app:
repository: "split-fairly"
tag: "0.1.2"
tag: "0.1.4"
pullPolicy: IfNotPresent
web:
repository: "split-fairly-web"
tag: "0.1.2"
tag: "0.1.4"
pullPolicy: IfNotPresent
mysql:
repository: "mysql"
tag: "8"
tag: "8.4"
pullPolicy: IfNotPresent

service:
Expand Down Expand Up @@ -42,7 +42,7 @@ resources:
env:
APP_SECRET: "F3E46580-5F9A-4524-B218-90490B033192"
APP_ENV: "prod"
APP_VERSION: "0.1.2"
APP_VERSION: "0.1.4"
DATABASE_URL: "mysql://{{ .Values.mysql.user }}:{{ .Values.mysql.password }}@{{ include \"split-fairly.fullname\" . }}-db:{{ .Values.service.mysql.port }}/{{ default \"app\" .Values.mysql.database }}?serverVersion=8.0.31&charset=utf8mb4"
ADMIN_EMAIL: "admin@example.com"
ADMIN_PASSWORD: "secret"
Expand Down
Loading