Page:
Contributing
Pages
API Keys
Admin Panel
Atlas
Backups
Budget Tracking
Collab
Contributing
Email Notifications
Environment Variables
File Management
Home
Installation
MCP Integration
PDF Export
Packing Lists
Photos
Public Share Links
Real Time Sync
Reverse Proxy
Security
Single Sign On
Trip Planning
Updating
Vacay
No results
5
Contributing
Maurice edited this page 2026-04-03 23:53:16 +02:00
Contributing
Thanks for your interest in contributing to TREK! Here are the guidelines for submitting pull requests.
Before You Start
- Ask in Discord first — Before writing any code, pitch your idea in the
#github-prchannel on our Discord server. We'll let you know if the PR is wanted and give direction. PRs without prior approval will be closed - Check existing issues — Look for open issues or discussions before starting work
- Target the
devbranch — All PRs must be opened againstdev, notmain - One thing per PR — Keep PRs focused on a single change. Don't bundle unrelated fixes
Pull Request Guidelines
Code Quality
- Write clean, readable code that matches the existing style
- No unnecessary abstractions or over-engineering
- Don't add features beyond what was discussed in the issue
- Don't add comments unless the logic isn't self-evident
- Don't add error handling for scenarios that can't happen
What We Look For
- Does it solve the stated problem? — The PR should match the issue it addresses
- Is it minimal? — No extra refactoring, no "while I'm here" changes
- Does it break anything? — Breaking changes are not acceptable
- Is the code clean? — Consistent style, no debug logs, no dead code
Commit Messages
Use conventional commits:
fix(component): short description of what was fixed
feat(component): short description of new feature
PR Description
Include:
- Summary — What does this PR do? (1-3 bullet points)
- Test plan — How was this tested?
- Related issue — Link the issue (e.g.
Fixes #123)
What Will Get Your PR Closed
- PRs that weren't discussed and approved in
#github-pron Discord first - PRs that add unnecessary complexity (e.g. a redo button when undo already exists)
- PRs with breaking changes
- PRs that change code style or formatting across unrelated files
- PRs that add dependencies without justification
Development Setup
git clone https://github.com/mauriceboe/TREK.git
cd TREK
# Server
cd server
npm install
npm run dev
# Client (separate terminal)
cd client
npm install
npm run dev
- Server runs on
http://localhost:3001 - Client runs on
http://localhost:5173(with proxy to server)
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Zustand, Leaflet, Tailwind CSS, Vite |
| Backend | Express, TypeScript, better-sqlite3 |
| Real-time | WebSocket (ws) |
| Database | SQLite with WAL mode |
| Auth | JWT (HS256), bcrypt, TOTP MFA, OIDC |
| Maps | Leaflet + react-leaflet, OSRM, Nominatim, CartoDB tiles |
| i18n | 13 languages (EN, DE, ES, FR, NL, IT, PT-BR, CS, PL, HU, RU, ZH, AR) |