TRIP

![Status](https://img.shields.io/badge/status-active-success?style=for-the-badge) [![GitHub Issues](https://img.shields.io/github/issues/itskovacs/trip?style=for-the-badge&color=ededed)](https://github.com/itskovacs/trip/issues) [![License](https://img.shields.io/badge/license-_CC_BY_NC_SA_4.0-2596be?style=for-the-badge)](/LICENSE)

πŸ—ΊοΈ Tourism and Recreational Interest Points


![TRIP Planning](./.github/screenshot.png)
## πŸ“ 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 pull` ```bash docker run -p 8080:8000 -v trip-storage:/app/storage ghcr.io/itskovacs/trip:1.0.0 ``` ### 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/).
| | | |:-------:|:-------:| | ![](./.github/sc_map.png) | ![](./.github/sc_map_filters_list.png) | | ![](./.github/sc_trip.png) | ![](./.github/sc_trips.png) |

## 🚧 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