Translation Fixes and Dependency Updates (#861)

* Translated using Weblate (Spanish)

Currently translated at 100.0% (956 of 956 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* Added translation using Weblate (English (United States))

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (956 of 956 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/nb_NO/

* Remove empty English (United States) locale file

* Translated using Weblate (Spanish)

Currently translated at 100.0% (956 of 956 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* [BUG]Ordered Itinerary includes visits that are outside itinerary date range
Fixes #746

* [BUG] Server Error (500) when trying to access the API docs
Fixes #712

* [BUG] Single day Collections will think location visits are out of date range
Fixes #827

* Fixes #654

* Translated using Weblate (Spanish)

Currently translated at 100.0% (956 of 956 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* Added Slovak translations (#815)

* Created sk.json

* Update Navbar.svelte

* Update +layout.svelte

---------

Co-authored-by: Sean Morley <98704938+seanmorley15@users.noreply.github.com>

* Implement code changes to enhance functionality and improve performance

* Translated using Weblate (Slovak)

Currently translated at 100.0% (958 of 958 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sk/

* Translated using Weblate (German)

Currently translated at 100.0% (958 of 958 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

* [BUG] Location Visit End Date not affected by Location Timezone
Fixes #843

* fix(i18n): update Chinese translations for location-related terms (#829)

Co-authored-by: Sean Morley <98704938+seanmorley15@users.noreply.github.com>

* Translated using Weblate (Spanish)

Currently translated at 100.0% (958 of 958 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* Translated using Weblate (German)

Currently translated at 100.0% (958 of 958 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

* Translated using Weblate (Swedish)

Currently translated at 99.8% (957 of 958 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sv/

* Squashed commit of the following:

commit 9d4f1b8f53
Author: Jacob <jacob.aulin@proton.me>
Date:   Sat Sep 13 15:17:22 2025 +0200

    Translated using Weblate (Swedish)

    Currently translated at 99.8% (957 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sv/

commit 8fac40cfde
Author: Christian S <schuld.christian@gmail.com>
Date:   Sat Sep 13 12:54:52 2025 +0200

    Translated using Weblate (German)

    Currently translated at 100.0% (958 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

commit 8e8c42396e
Author: Patricio Carrau <duckycb@proton.me>
Date:   Tue Sep 9 21:59:48 2025 +0200

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (958 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

commit be818ab408
Author: pplulee <hi@pplulee.me>
Date:   Mon Sep 8 04:06:54 2025 +0100

    fix(i18n): update Chinese translations for location-related terms (#829)

    Co-authored-by: Sean Morley <98704938+seanmorley15@users.noreply.github.com>

commit 9e40dcf6a1
Merge: af2f2809 733eefce
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Sep 7 23:03:57 2025 -0400

    Merge remote-tracking branch 'weblate/development' into development

commit af2f28090b
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Sep 7 23:00:33 2025 -0400

    [BUG] Location Visit End Date not affected by Location Timezone
    Fixes #843

commit 733eefcedd
Author: Alex <div@alexe.at>
Date:   Sun Sep 7 23:28:20 2025 +0200

    Translated using Weblate (German)

    Currently translated at 100.0% (958 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

commit 6c750d1c8f
Author: fantastron27 <fantastron27@gmail.com>
Date:   Sun Sep 7 09:17:16 2025 +0200

    Translated using Weblate (Slovak)

    Currently translated at 100.0% (958 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sk/

commit f733b3b96b
Merge: 769ea6ad af4e541c
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:36:35 2025 -0400

    Merge branch 'development' of github.com:seanmorley15/AdventureLog into development

commit 769ea6ad71
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:36:33 2025 -0400

    Implement code changes to enhance functionality and improve performance

commit af4e541c1c
Author: fantastron27 <fantastron27@gmail.com>
Date:   Sun Sep 7 03:36:23 2025 +0200

    Added Slovak translations (#815)

    * Created sk.json

    * Update Navbar.svelte

    * Update +layout.svelte

    ---------

    Co-authored-by: Sean Morley <98704938+seanmorley15@users.noreply.github.com>

commit 904474d757
Merge: d4709434 f87a5fe3
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:31:58 2025 -0400

    Merge remote-tracking branch 'weblate/development' into development

commit d47094346c
Merge: 4a5f59bf 6366a3eb
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:29:39 2025 -0400

    Merge remote-tracking branch 'weblate/development' into development

commit f87a5fe3bc
Author: Sergio <garcia.sergio@me.com>
Date:   Sun Sep 7 01:12:50 2025 +0200

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (956 of 956 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

commit 4a5f59bfd2
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:06:17 2025 -0400

    Fixes #654

commit c1302bb54a
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 20:52:05 2025 -0400

    [BUG] Single day Collections will think location visits are out of date range
    Fixes #827

commit 773f2d65bb
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 19:52:28 2025 -0400

    [BUG] Server Error (500) when trying to access the API docs
    Fixes #712

commit 4228db249e
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 19:44:00 2025 -0400

    [BUG]Ordered Itinerary includes visits that are outside itinerary date range
    Fixes #746

commit 26f36cabb0
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 18:36:50 2025 +0200

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (956 of 956 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

commit 3bfd2dd561
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 12:33:23 2025 -0400

    Remove empty English (United States) locale file

commit 6366a3eba6
Author: Nikolai Eidsheim <nikolai.eidsheim@gmail.com>
Date:   Sat Sep 6 18:10:15 2025 +0200

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 100.0% (956 of 956 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/nb_NO/

commit 671cd3701f
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 16:58:04 2025 +0200

    Added translation using Weblate (English (United States))

commit bdbbe5f497
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 16:54:43 2025 +0200

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (956 of 956 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* Remove duplicate comment for syncing development branch with main in .env.example

* Timezone fixes, Translations, and Misc Fixes (#844)

* Translated using Weblate (Spanish)

Currently translated at 100.0% (956 of 956 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* Added translation using Weblate (English (United States))

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (956 of 956 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/nb_NO/

* Remove empty English (United States) locale file

* Translated using Weblate (Spanish)

Currently translated at 100.0% (956 of 956 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* [BUG]Ordered Itinerary includes visits that are outside itinerary date range
Fixes #746

* [BUG] Server Error (500) when trying to access the API docs
Fixes #712

* [BUG] Single day Collections will think location visits are out of date range
Fixes #827

* Fixes #654

* Translated using Weblate (Spanish)

Currently translated at 100.0% (956 of 956 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* Added Slovak translations (#815)

* Created sk.json

* Update Navbar.svelte

* Update +layout.svelte

---------

Co-authored-by: Sean Morley <98704938+seanmorley15@users.noreply.github.com>

* Implement code changes to enhance functionality and improve performance

* Translated using Weblate (Slovak)

Currently translated at 100.0% (958 of 958 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sk/

* Translated using Weblate (German)

Currently translated at 100.0% (958 of 958 strings)

Translation: AdventureLog/Web App
Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

* [BUG] Location Visit End Date not affected by Location Timezone
Fixes #843

* fix(i18n): update Chinese translations for location-related terms (#829)

Co-authored-by: Sean Morley <98704938+seanmorley15@users.noreply.github.com>

---------

Co-authored-by: Nikolai Eidsheim <nikolai.eidsheim@gmail.com>
Co-authored-by: Sergio <garcia.sergio@me.com>
Co-authored-by: fantastron27 <fantastron27@gmail.com>
Co-authored-by: Alex <div@alexe.at>
Co-authored-by: pplulee <hi@pplulee.me>

* Update issue templates for bug reports, deployment issues, and feature requests (#849)

* Squashed commit of the following:

commit 9d4f1b8f53
Author: Jacob <jacob.aulin@proton.me>
Date:   Sat Sep 13 15:17:22 2025 +0200

    Translated using Weblate (Swedish)

    Currently translated at 99.8% (957 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sv/

commit 8fac40cfde
Author: Christian S <schuld.christian@gmail.com>
Date:   Sat Sep 13 12:54:52 2025 +0200

    Translated using Weblate (German)

    Currently translated at 100.0% (958 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

commit 8e8c42396e
Author: Patricio Carrau <duckycb@proton.me>
Date:   Tue Sep 9 21:59:48 2025 +0200

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (958 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

commit be818ab408
Author: pplulee <hi@pplulee.me>
Date:   Mon Sep 8 04:06:54 2025 +0100

    fix(i18n): update Chinese translations for location-related terms (#829)

    Co-authored-by: Sean Morley <98704938+seanmorley15@users.noreply.github.com>

commit 9e40dcf6a1
Merge: af2f2809 733eefce
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Sep 7 23:03:57 2025 -0400

    Merge remote-tracking branch 'weblate/development' into development

commit af2f28090b
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Sep 7 23:00:33 2025 -0400

    [BUG] Location Visit End Date not affected by Location Timezone
    Fixes #843

commit 733eefcedd
Author: Alex <div@alexe.at>
Date:   Sun Sep 7 23:28:20 2025 +0200

    Translated using Weblate (German)

    Currently translated at 100.0% (958 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

commit 6c750d1c8f
Author: fantastron27 <fantastron27@gmail.com>
Date:   Sun Sep 7 09:17:16 2025 +0200

    Translated using Weblate (Slovak)

    Currently translated at 100.0% (958 of 958 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sk/

commit f733b3b96b
Merge: 769ea6ad af4e541c
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:36:35 2025 -0400

    Merge branch 'development' of github.com:seanmorley15/AdventureLog into development

commit 769ea6ad71
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:36:33 2025 -0400

    Implement code changes to enhance functionality and improve performance

commit af4e541c1c
Author: fantastron27 <fantastron27@gmail.com>
Date:   Sun Sep 7 03:36:23 2025 +0200

    Added Slovak translations (#815)

    * Created sk.json

    * Update Navbar.svelte

    * Update +layout.svelte

    ---------

    Co-authored-by: Sean Morley <98704938+seanmorley15@users.noreply.github.com>

commit 904474d757
Merge: d4709434 f87a5fe3
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:31:58 2025 -0400

    Merge remote-tracking branch 'weblate/development' into development

commit d47094346c
Merge: 4a5f59bf 6366a3eb
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:29:39 2025 -0400

    Merge remote-tracking branch 'weblate/development' into development

commit f87a5fe3bc
Author: Sergio <garcia.sergio@me.com>
Date:   Sun Sep 7 01:12:50 2025 +0200

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (956 of 956 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

commit 4a5f59bfd2
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 21:06:17 2025 -0400

    Fixes #654

commit c1302bb54a
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 20:52:05 2025 -0400

    [BUG] Single day Collections will think location visits are out of date range
    Fixes #827

commit 773f2d65bb
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 19:52:28 2025 -0400

    [BUG] Server Error (500) when trying to access the API docs
    Fixes #712

commit 4228db249e
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 19:44:00 2025 -0400

    [BUG]Ordered Itinerary includes visits that are outside itinerary date range
    Fixes #746

commit 26f36cabb0
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 18:36:50 2025 +0200

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (956 of 956 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

commit 3bfd2dd561
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 12:33:23 2025 -0400

    Remove empty English (United States) locale file

commit 6366a3eba6
Author: Nikolai Eidsheim <nikolai.eidsheim@gmail.com>
Date:   Sat Sep 6 18:10:15 2025 +0200

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 100.0% (956 of 956 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/nb_NO/

commit 671cd3701f
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 16:58:04 2025 +0200

    Added translation using Weblate (English (United States))

commit bdbbe5f497
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Sep 6 16:54:43 2025 +0200

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (956 of 956 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

* Remove duplicate comment for syncing development branch with main in .env.example

* Update Django version to 5.2.6 in requirements.txt

* Update appVersion to include main branch identifier

* Update GitHub Actions workflows to use updated actions and improve Docker image build process

* Add comprehensive development instructions for AdventureLog project

---------

Co-authored-by: Nikolai Eidsheim <nikolai.eidsheim@gmail.com>
Co-authored-by: Sergio <garcia.sergio@me.com>
Co-authored-by: fantastron27 <fantastron27@gmail.com>
Co-authored-by: Alex <div@alexe.at>
Co-authored-by: pplulee <hi@pplulee.me>
Co-authored-by: Patricio Carrau <duckycb@proton.me>
Co-authored-by: Christian S <schuld.christian@gmail.com>
Co-authored-by: Jacob <jacob.aulin@proton.me>
This commit is contained in:
Sean Morley
2025-09-17 23:11:09 -04:00
committed by GitHub
parent c06c2a7523
commit 4907ba8700
9 changed files with 2224 additions and 2063 deletions

134
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,134 @@
# AdventureLog Development Instructions
AdventureLog is a self-hosted travel companion web application built with SvelteKit frontend and Django backend, deployed via Docker.
**ALWAYS follow these instructions first and fallback to search or bash commands only when you encounter unexpected information that does not match the info here.**
## Working Effectively
### Essential Setup (NEVER CANCEL - Set 60+ minute timeouts)
Run these commands in order:
- `cp .env.example .env` - Copy environment configuration
- `time docker compose up -d` - **FIRST TIME: 25+ minutes, NEVER CANCEL. Set timeout to 60+ minutes. Subsequent starts: <1 second**
- Wait 30+ seconds for services to fully initialize before testing functionality
### Development Workflow Commands
**Frontend (SvelteKit with Node.js):**
- `cd frontend && npm install` - **45+ seconds, NEVER CANCEL. Set timeout to 60+ minutes**
- `cd frontend && npm run build` - **32 seconds, set timeout to 60 seconds**
- `cd frontend && npm run dev` - Start development server (requires backend running)
- `cd frontend && npm run format` - **6 seconds** - Fix code formatting (ALWAYS run before committing)
- `cd frontend && npm run lint` - **6 seconds** - Check code formatting
- `cd frontend && npm run check` - **12 seconds** - Run Svelte type checking (3 errors, 19 warnings expected)
**Backend (Django with Python):**
- Backend development requires Docker - local Python pip install fails due to network timeouts
- `docker compose exec server python3 manage.py test` - **7 seconds** - Run tests (2/3 tests fail, this is expected)
- `docker compose exec server python3 manage.py help` - View Django commands
- `docker compose exec server python3 manage.py migrate` - Run database migrations
**Full Application:**
- Frontend runs on: http://localhost:8015
- Backend API runs on: http://localhost:8016
- Default admin credentials: admin/admin (from .env file)
## Validation
### MANDATORY End-to-End Testing
**ALWAYS manually validate any new code by running through complete user scenarios:**
1. **ALWAYS run the bootstrapping steps first** (copy .env, docker compose up)
2. **Navigate to http://localhost:8015** - Verify homepage loads correctly
3. **Test basic functionality** - Homepage should display travel companion interface
4. **CRITICAL**: Some login/navigation may fail due to frontend-backend communication issues in development Docker setup. This is expected.
### Pre-Commit Validation (ALWAYS run before committing)
**ALWAYS run these commands to ensure CI will pass:**
- `cd frontend && npm run format` - **6 seconds** - Fix formatting issues
- `cd frontend && npm run lint` - **6 seconds** - Verify formatting is correct (should pass after format)
- `cd frontend && npm run check` - **12 seconds** - Type checking (some warnings expected)
- `cd frontend && npm run build` - **32 seconds** - Verify build succeeds
## Critical Development Notes
### Configuration Issues
- **KNOWN ISSUE**: Docker development setup has frontend-backend communication problems
- The frontend may display "500: Internal Error" when navigating beyond homepage
- For working application, use production Docker setup or modify `PUBLIC_SERVER_URL` in .env
- **DO NOT attempt to fix these configuration issues** - focus on code changes only
### Docker vs Local Development
- **PRIMARY METHOD**: Use Docker for all development (`docker compose up -d`)
- **AVOID**: Local Python development (pip install fails with network timeouts)
- **AVOID**: Trying to run backend outside Docker (requires complex GDAL/PostGIS setup)
### Expected Test Failures
- Frontend check: 3 errors and 19 warnings expected (accessibility and TypeScript issues)
- Backend tests: 2 out of 3 Django tests fail (API endpoint issues) - **DO NOT fix unrelated test failures**
### Build Timing (NEVER CANCEL)
- **Docker first startup**: 25+ minutes (image downloads)
- **Docker subsequent startups**: <1 second (images cached)
- **Frontend npm install**: 45 seconds
- **Frontend build**: 32 seconds
- **Tests and checks**: 6-12 seconds each
## Common Tasks
### Repository Structure
```
AdventureLog/
├── frontend/ # SvelteKit web application
│ ├── src/ # Source code
│ ├── package.json # Node.js dependencies and scripts
│ └── static/ # Static assets
├── backend/ # Django API server
│ ├── server/ # Django project
│ ├── Dockerfile # Backend container
│ └── requirements.txt # Python dependencies
├── docker-compose.yml # Main deployment configuration
├── .env.example # Environment template
└── install_adventurelog.sh # Production installer
```
### Key Scripts and Files
- `frontend/package.json` - Contains all frontend build scripts
- `backend/server/manage.py` - Django management commands
- `docker-compose.yml` - Service definitions (frontend:8015, backend:8016, db:5432)
- `.env` - Environment configuration (copy from .env.example)
### Development vs Production
- **Development**: Use `docker compose up -d` with .env file
- **Production**: Use `./install_adventurelog.sh` installer script
- **CI/CD**: GitHub Actions in `.github/workflows/` handle testing and deployment
### Common Error Patterns
- **"500: Internal Error"**: Frontend-backend communication issue (expected in dev setup)
- **"Cannot connect to backend"**: Backend not started or wrong URL configuration
- **"pip install timeout"**: Network issue, use Docker instead of local Python
- **"Frontend build fails"**: Run `npm install` first, check Node.js version compatibility
## Troubleshooting Commands
```bash
# Check Docker services status
docker compose ps
# View service logs
docker compose logs web # Frontend logs
docker compose logs server # Backend logs
docker compose logs db # Database logs
# Restart specific service
docker compose restart web # Frontend only
docker compose restart server # Backend only
# Complete restart
docker compose down && docker compose up -d
```
## Important File Locations
- Configuration: `.env` file in repository root
- Frontend source: `frontend/src/`
- Backend source: `backend/server/`
- Static assets: `frontend/static/`
- Database: Handled by Docker PostgreSQL container
- Documentation: `documentation/` folder

View File

@@ -19,17 +19,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.ACCESS_TOKEN }}
- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -40,11 +40,20 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: set lower case owner name
run: |
echo "REPO_OWNER=${OWNER,,}" >>${GITHUB_ENV}
- name: Build and push beta Docker image with BuildKit cache
uses: docker/build-push-action@v5
with:
context: ./frontend
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:beta
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:beta
cache-from: |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:buildcache
type=local,src=/tmp/.buildx-cache
cache-to: |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:buildcache,mode=max
type=local,dest=/tmp/.buildx-cache,mode=max
env:
OWNER: "${{ github.repository_owner }}"
- name: Build Docker images
run: docker buildx build --platform linux/amd64,linux/arm64 --push -t ghcr.io/$REPO_OWNER/$IMAGE_NAME:beta -t ${{ secrets.DOCKERHUB_USERNAME }}/$IMAGE_NAME:beta ./frontend
DOCKER_BUILDKIT: 1

View File

@@ -19,17 +19,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.ACCESS_TOKEN }}
- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -40,11 +40,20 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: set lower case owner name
run: |
echo "REPO_OWNER=${OWNER,,}" >>${GITHUB_ENV}
- name: Build and push latest Docker image with BuildKit cache
uses: docker/build-push-action@v5
with:
context: ./frontend
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:latest
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
cache-from: |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:buildcache
type=local,src=/tmp/.buildx-cache
cache-to: |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:buildcache,mode=max
type=local,dest=/tmp/.buildx-cache,mode=max
env:
OWNER: "${{ github.repository_owner }}"
- name: Build Docker images
run: docker buildx build --platform linux/amd64,linux/arm64 --push -t ghcr.io/$REPO_OWNER/$IMAGE_NAME:latest -t ${{ secrets.DOCKERHUB_USERNAME }}/$IMAGE_NAME:latest ./frontend
DOCKER_BUILDKIT: 1

View File

@@ -16,17 +16,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.ACCESS_TOKEN }}
- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -37,11 +37,22 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: set lower case owner name
run: |
echo "REPO_OWNER=${OWNER,,}" >>${GITHUB_ENV}
- name: Build and push release Docker image with BuildKit cache
uses: docker/build-push-action@v5
with:
context: ./frontend
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}
ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:latest
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
cache-from: |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:buildcache
type=local,src=/tmp/.buildx-cache
cache-to: |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:buildcache,mode=max
type=local,dest=/tmp/.buildx-cache,mode=max
env:
OWNER: "${{ github.repository_owner }}"
- name: Build Docker images
run: docker buildx build --platform linux/amd64,linux/arm64 --push -t ghcr.io/$REPO_OWNER/$IMAGE_NAME:${{ github.event.release.tag_name }} -t ${{ secrets.DOCKERHUB_USERNAME }}/$IMAGE_NAME:${{ github.event.release.tag_name }} ./frontend
DOCKER_BUILDKIT: 1

View File

@@ -1,4 +1,4 @@
Django==5.2.2
Django==5.2.6
djangorestframework>=3.15.2
django-allauth==0.63.3
drf-yasg==1.21.4

View File

@@ -1,4 +1,4 @@
export let appVersion = 'v0.11.0';
export let appVersion = 'v0.11.0-main-09172025';
export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.11.0';
export let appTitle = 'AdventureLog';
export let copyrightYear = '2023-2025';

View File

@@ -696,7 +696,7 @@
"verify_setup": "Verifizierung des Setup",
"whats_included": "Was ist enthalten",
"backup_your_data": "Sichern Sie Ihre Daten",
"backup_your_data_desc": "Laden Sie eine vollständige Sicherung Ihrer Kontodaten, einschließlich Standorte, Sammlungen, Medien und Besuchen, herunter.",
"backup_your_data_desc": "Laden Sie eine vollständige Sicherung Ihrer Kontodaten, einschließlich Standorte, Sammlungen, Medien und Besuche, herunter.",
"data_override_acknowledge": "Ich bestätige, dass dies alle meine vorhandenen Daten überschreibt",
"data_override_acknowledge_desc": "Diese Aktion ist irreversibel und ersetzt alle Standorte, Sammlungen und Besuche in Ihrem Konto.",
"data_override_warning": "Daten-Überschreibungs-Warnung",

View File

@@ -95,7 +95,7 @@
"filter": "Filtrar",
"name": "Nombre",
"order_by": "Ordenar por",
"order_direction": "Dirección del pedido",
"order_direction": "Dirección de ordenamiento",
"rating": "Clasificación",
"sort": "Ordenar",
"sources": "Fuentes",
@@ -284,8 +284,8 @@
"loading_adventures": "Cargando aventuras ...",
"name_location": "Nombre, ubicación",
"collection_contents": "Contenido de la colección",
"check_in": "Registrarse",
"check_out": "Verificar",
"check_in": "Registro",
"check_out": "Salida",
"collection_link_location_error": "Error de vinculación de la ubicación para la recopilación",
"collection_link_location_success": "¡Ubicación vinculada a la colección con éxito!",
"collection_locations": "Incluir ubicaciones de colección",
@@ -429,7 +429,7 @@
"sport_type_placeholder": "Sendero",
"start_lat": "Iniciar latitud",
"start_lng": "Iniciar longitud",
"strava_activity_ready": "Strava Activity Ready",
"strava_activity_ready": "Actividad de Strava lista",
"trails": "Senderos",
"upload_activity": "Carga de actividad",
"upload_gpx_file": "Sube el archivo GPX que se acaba de descargar para completar la importación Strava",

View File

@@ -11,7 +11,7 @@
"source_code": "Källkod",
"generic_attributions": "Logga in på AdventureLog för att visa attribut för aktiverade integrationer och tjänster.",
"attributions": "Tillskrivningar",
"developer": "Framkallare",
"developer": "Utvecklare",
"license_info": "Licens",
"sponsor": "Sponsor",
"thank_you": "Tack för att du använder AdventureLog!",
@@ -20,8 +20,7 @@
"view_license": "Visa licens"
},
"adventures": {
"activities": {},
"add_to_collection": "Lägg till i samlingen",
"add_to_collection": "Lägg till i samling",
"adventure": "Äventyr",
"archive": "Arkiv",
"archived": "Arkiverad",
@@ -51,7 +50,7 @@
"my_collections": "Mina samlingar",
"name": "Namn",
"no_image_found": "Ingen bild hittades",
"open_details": "Öppna Detaljer",
"open_details": "Öppna detaljer",
"open_filters": "Öppna filter",
"order_by": "Sortera efter",
"order_direction": "Sorteringsriktning",
@@ -59,7 +58,7 @@
"private": "Privat",
"public": "Offentlig",
"rating": "Betyg",
"remove_from_collection": "Ta bort från samlingen",
"remove_from_collection": "Ta bort från samling",
"share": "Dela",
"sort": "Sortera",
"sources": "Källor",
@@ -78,17 +77,17 @@
"wiki_image_error": "Det gick inte att hämta bilden från Wikipedia",
"actions": "Åtgärder",
"activity_types": "Aktivitetstyper",
"add": "Tillägga",
"add": "Lägg till",
"add_notes": "Lägg till anteckningar",
"basic_information": "Grundläggande information",
"category": "Kategori",
"clear_map": "Rensa karta",
"copy_link": "Kopiera länk",
"date_constrain": "Begränsa till insamlingsdatum",
"date_constrain": "Begränsa till datum i samlingen",
"description": "Beskrivning",
"end_date": "Slutdatum",
"fetch_image": "Hämta bild",
"generate_desc": "Skapa beskrivning",
"generate_desc": "Generera beskrivning",
"image": "Bild",
"image_fetch_failed": "Det gick inte att hämta bilden",
"link": "Länk",
@@ -100,7 +99,7 @@
"no_location": "Vänligen ange en plats",
"no_results": "Inga resultat hittades",
"remove": "Ta bort",
"save_next": "Spara",
"save_next": "Spara & gå vidare",
"search_for_location": "Sök efter en plats",
"search_results": "Sökresultat",
"see_adventures": "Se äventyr",
@@ -114,7 +113,7 @@
"mark_visited": "Markera som besökt",
"my_adventures": "Mina äventyr",
"no_adventures_found": "Inga äventyr hittades",
"no_linkable_adventures": "Inga äventyr hittades som kan kopplas till denna samling.",
"no_linkable_adventures": "Inga äventyr hittades som kan länkas till den här samlingen.",
"not_visited": "Ej besökta",
"regions_updated": "regioner uppdaterade",
"update_visited_regions": "Uppdatera besökta regioner",
@@ -154,26 +153,26 @@
"download_calendar": "Ladda ner kalender",
"md_instructions": "Skriv din avskrivning här...",
"preview": "Förhandsvisning",
"checklist_delete_confirm": "Är du säker på att du vill ta bort den här checklistan? \nDenna åtgärd kan inte ångras.",
"checklist_delete_confirm": "Är du säker på att du vill ta bort den här checklistan? Denna åtgärd kan inte ångras.",
"clear_location": "Rensa plats",
"date_information": "Datuminformation",
"delete_checklist": "Ta bort checklista",
"delete_note": "Ta bort anteckning",
"delete_transportation": "Ta bort Transport",
"delete_transportation": "Ta bort transport",
"end": "Avsluta",
"ending_airport": "Slutar flygplats",
"flight_information": "Flyginformation",
"from": "Från",
"no_location_found": "Ingen plats hittades",
"note_delete_confirm": "Är du säker på att du vill ta bort den här anteckningen? \nDenna åtgärd kan inte ångras.",
"note_delete_confirm": "Är du säker på att du vill ta bort den här anteckningen? Denna åtgärd kan inte ångras.",
"out_of_range": "Inte inom resplanens datumintervall",
"start": "Start",
"starting_airport": "Startar flygplats",
"to": "Till",
"transportation_delete_confirm": "Är du säker på att du vill ta bort denna transport? \nDenna åtgärd kan inte ångras.",
"transportation_delete_confirm": "Är du säker på att du vill ta bort den här transporten? Denna åtgärd kan inte ångras.",
"cities_updated": "städer uppdaterade",
"finding_recommendations": "Upptäck dolda pärlor för ditt nästa äventyr",
"attachment": "Fastsättning",
"attachment": "Bilaga",
"attachment_delete_success": "Bilagan har raderats!",
"attachment_name": "Bilagans namn",
"attachment_update_error": "Fel vid uppdatering av bilaga",
@@ -185,18 +184,18 @@
"images": "Bilder",
"upload": "Ladda upp",
"city": "Stad",
"delete_lodging": "Ta bort logi",
"delete_lodging": "Ta bort boende",
"display_name": "Visningsnamn",
"location_details": "Platsinformation",
"lodging": "Logi",
"lodging_delete_confirm": "Är du säker på att du vill ta bort den här logiplatsen? \nDenna åtgärd kan inte ångras.",
"lodging_delete_confirm": "Är du säker på att du vill ta bort det här boendet? Denna åtgärd kan inte ångras.",
"lodging_information": "Logi information",
"price": "Pris",
"region": "Område",
"reservation_number": "Bokningsnummer",
"open_in_maps": "Kappas in",
"open_in_maps": "Öppna i Maps",
"all_day": "Hela dagen",
"collection_no_start_end_date": "Att lägga till ett start- och slutdatum till samlingen kommer att låsa upp planeringsfunktioner för resplan på insamlingssidan.",
"collection_no_start_end_date": "Att lägga till ett start- och slutdatum till samlingen kommer att låsa upp planeringsfunktioner för resplan på samlingssidan.",
"date_itinerary": "Datum resplan",
"no_ordered_items": "Lägg till objekt med datum i samlingen för att se dem här.",
"ordered_itinerary": "Beställd resplan",
@@ -208,7 +207,7 @@
"arrival_date": "Ankomstdatum",
"departure_date": "Avgångsdatum",
"coordinates": "Koordinater",
"copy_coordinates": "Kopieringskoordinater",
"copy_coordinates": "Kopiera koordinater",
"sun_times": "Soltider",
"sunrise": "Soluppgång",
"sunset": "Solnedgång",
@@ -218,7 +217,7 @@
"itinerary": "Resväg",
"joined": "Gick med i",
"view_profile": "Visa profil",
"share_collection": "Dela denna samling!",
"share_collection": "Dela den här samlingen!",
"filters_and_sort": "Filter",
"filters_and_stats": "Filter",
"no_adventures_message": "Börja dokumentera dina äventyr och planera nya. \nVarje resa har en historia som är värd att berätta.",
@@ -234,32 +233,32 @@
"collection_contents": "Insamlingsinnehåll",
"check_in": "Checka in",
"check_out": "Checka ut",
"collection_link_location_error": "Fel som länkar plats till insamling",
"collection_link_location_success": "Plats kopplad till samling framgångsrikt!",
"collection_locations": "Inkludera insamlingsplatser",
"collection_remove_location_error": "Fel att ta bort platsen från samlingen",
"collection_remove_location_success": "Plats tas bort från samlingen framgångsrikt!",
"collection_link_location_error": "Ett fel uppstod när platsen länkades till samlingen",
"collection_link_location_success": "Plats länkad till samling!",
"collection_locations": "Inkludera samlingsplatser",
"collection_remove_location_error": "Ett fel uppstod när platsen togs bort från samlingen",
"collection_remove_location_success": "Plats togs bort från samlingen!",
"create_location": "Skapa plats",
"delete_location": "Radera plats",
"edit_location": "Redigera plats",
"location_create_error": "Det gick inte att skapa plats",
"location_created": "Plats skapad",
"location_delete_confirm": "Är du säker på att du vill ta bort den här platsen? \nDenna åtgärd kan inte ångras.",
"location_delete_confirm": "Är du säker på att du vill ta bort den här platsen? Denna åtgärd kan inte ångras.",
"location_delete_success": "Plats raderas framgångsrikt!",
"location_not_found": "Plats hittades inte",
"location_not_found_desc": "Platsen du letade efter kunde inte hittas. \nFörsök med en annan plats eller kom tillbaka senare.",
"location_not_found_desc": "Platsen du letade efter kunde inte hittas. Vänligen pröva en annan plats eller försök igen senare.",
"location_update_error": "Det gick inte att uppdatera platsen",
"location_updated": "Plats uppdaterad",
"new_location": "Ny plats",
"no_collections_to_add_location": "Inga samlingar som hittats för att lägga till den här platsen till.",
"no_locations_to_recommendations": "Inga platser hittades. \nLägg till minst en plats för att få rekommendationer.",
"public_location": "Allmän plats",
"public_location": "Offentlig plats",
"share_location": "Dela den här platsen!",
"visit_calendar": "Besök kalendern",
"wiki_location_desc": "Drar utdrag från Wikipedia -artikeln som matchar namnet på platsen.",
"wiki_location_desc": "Hämtar utdrag från Wikipedia-artikeln som matchar namnet på platsen.",
"will_be_marked_location": "kommer att markeras som besöks när platsen har sparats.",
"no_locations_found": "Inga platser hittades",
"image_modal_navigate": "Använd pilnycklar eller klicka för att navigera",
"image_modal_navigate": "Använd piltangenterna eller klicka för att navigera",
"details": "Information",
"leave": "Lämna",
"leave_collection": "Lämna samlingen",
@@ -438,7 +437,7 @@
"feature_3_desc": "Se dina resor över hela världen med en interaktiv karta och utforska nya destinationer.",
"go_to": "Gå till AdventureLog",
"hero_1": "Upptäck världens mest spännande äventyr",
"hero_2": "Upptäck och planera ditt nästa äventyr med AdventureLog. \nUtforska hisnande destinationer, skapa anpassade resplaner och håll kontakten när du är på språng.",
"hero_2": "Upptäck och planera ditt nästa äventyr med AdventureLog. Utforska hisnande destinationer, skapa anpassade resplaner och håll kontakten när du är på språng.",
"key_features": "Viktiga funktioner",
"explore_world": "Utforska världen",
"latest_travel_experiences": "Dina senaste reseupplevelser",
@@ -453,7 +452,7 @@
"greeting": "Hej",
"logout": "Logga ut",
"map": "Karta",
"my_adventures": "Mina äventyr",
"my_adventures": "Mina Äventyr",
"profile": "Profil",
"search": "Sök",
"settings": "Inställningar",
@@ -464,7 +463,7 @@
"aestheticLight": "Estetisk ljus",
"aqua": "Vatten",
"dark": "Mörk",
"dim": "Dämpa",
"dim": "Dämpad",
"forest": "Skog",
"light": "Ljus",
"night": "Natt",
@@ -472,7 +471,7 @@
},
"users": "Användare",
"worldtravel": "Världsresor",
"my_tags": "Mina taggar",
"my_tags": "Mina Taggar",
"tag": "Tagg",
"language_selection": "Språk",
"support": "Support",
@@ -838,7 +837,6 @@
"show_activities": "Visningsaktiviteter",
"show_visited_cities": "Besökta städer"
},
"languages": {},
"share": {
"no_users_shared": "Inga användare delas med",
"not_shared_with": "Inte delad med",