
TRIP

[](https://github.com/itskovacs/trip/issues)
[](/LICENSE)
πΊοΈ Tourism and Recreational Interest Points

## π Table of Contents
- π¦ [About](#about)
- π± [Getting Started](#getting_started)
- πΈ [Demo](#Demo)
- π§ [Roadmap](#Roadmap)
- π [License](#License)
- π€ [Contributing](#Contributing)
- π οΈ [Tech Stack](#techstack)
- βοΈ [Authors](#authors)
## π¦ About
TRIP is a minimalist Map tracker and Trip planner, to visualize your points of interest (POI) and organize your next adventure details.
- π Manage your POI on a Map
- πΎ Specify metadata (*dog-friendly*, *cost*, *duration*)
- ποΈ Categorize your points
- π§Ύ Plan your next trip in a structured table, *Google Sheets*-style
- π Use map filtering and searching for fast interactions
- βοΈ Customize your settings, import/export your data, and more
Demo is worth a thousand words, head to πΈ [Demo](#Demo).
π Privacy-First β No telemetry, no tracking, fully self-hostable. You own your data. Inspect, modify, and contribute freely.
## π± Getting Started
These steps will guide to deploy the app, ready to use in β±οΈ minutes.
If you need help, feel free to open an [issue](https://github.com/itskovacs/trip/issues).
> [!NOTE]
> Packages are available in the [packages section](https://github.com/itskovacs/trip/pkgs/container/trip) of the repository for quickstart, using just `docker run`
```bash
# Ensure you have the latest
docker pull ghcr.io/itskovacs/trip:1
# Run the app
docker run -p 8080:8000 -v trip-storage:/app/storage ghcr.io/itskovacs/trip:1
```
### Preparation
Clone the repo, you're one step away from being all set
```bash
git clone https://github.com/itskovacs/trip.git
cd trip
```
### Docker π³ (recommended)
If needed, edit `docker-compose.yml` to modify the mapped port (default is `127.0.0.1:8080`).
Run the container, head to TRIP website, create an account, enjoy β
```bash
docker compose up -d
```
### Serving the content
You can serve TRIP using a web server, eg: Nginx
```nginx
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name trip.lan; # Your TRIP domain
location / {
proxy_pass http://localhost:8080; # TRIP port, default is 8080
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
```
### Sources π©βπ»
Install from sources and run the backend.
Build the frontend and serve it with the web server.
**backend**
```bash
cd backend
# Source virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r trip/requirements.txt
# Run the backend, port :8000
fastapi run trip/main.py
```
**frontend**
```bash
cd frontend
# Install dependencies
npm install
# Build the frontend
npm build
# Copy the build to your static web server directory
cp -r dist/trip/browser /var/www/html
```
## πΈ Demo
A demo is available at [itskovacs-trip.netlify.app](https://itskovacs-trip.netlify.app/).
| | |
|:-------:|:-------:|
|  |  |
|  |  |
## π§ Roadmap
New features coming soonTM, check out the development plan in the [Roadmap Wiki](https://github.com/itskovacs/trip/wiki/Roadmap). If you have ideas π‘, feel free to open an issue.
If you want to develop new feature, feel free to open a pull request (see [π€ Contributing](#contributing)).
## π License
I decided to license trip under the **CC BY-NC-SA 4.0** β You may use, modify, and share freely with attribution, but **commercial use is prohibited**.
## π€ Contributing
Contributions are welcome! Feel free to open issues if you find bugs and pull requests for your new features!
1. Fork the repo
2. Create a new branch (`my-new-trip-feature`)
3. Commit changes
4. Open a pull request
## π οΈ Tech Stack
### **Frontend**
- π
°οΈ Angular 19
- ποΈ PrimeNG 19
- π¨ Tailwind CSS 4
- πΊοΈ Leaflet 1.9 (plugins: [Leaflet.markercluster](https://github.com/Leaflet/Leaflet.markercluster), [Leaflet.contextmenu](https://github.com/aratcliffe/Leaflet.contextmenu))
### **Backend**
- π FastAPI, SQLModel
- ποΈ SQLite
## βοΈ Authors
-Β [@itskovacs](https://github.com/itskovacs)
If you like TRIP, consider giving it a **star** β!
Made with β€οΈ in BZH