Sortir is an event discovery platform that aggregates and visualizes local events on an interactive map. It solves a common problem: finding interesting activities nearby shouldn't require checking multiple specialized platforms.
While existing services focus on specific niches (concerts, movies, art exhibitions) or locations, Sortir brings everything together in one unified, dynamic interface.
- ๐บ๏ธ Interactive Map View - Visualize all events around you at a glance
- ๐ญ Diverse Event Types - Movies, festivals, concerts, theater, family activities, and more
- ๐ Smart Discovery - Find events based on your preferences and location
- ๐ฑ Responsive Design - Works seamlessly across desktop and mobile devices
- ๐งญ Activity Planning - Create custom itineraries for exploring new cities
sequenceDiagram
participant br as Browser
participant pb as PocketBase (/cmd)
Note over pb: BaaS server
participant sk as SvelteKit (/ui)
Note over sk: adapter-static
sk->>pb: compiled SK app <br>(bundled with `go:embed`)
pb->>br: serve SK app
br->>pb: API calls
pb->>pb: SQLite
pb->>br: res
sequenceDiagram title Infrastructure sequence
participant pb as PocketBase (/cmd)
Note over pb: BaaS server
participant cl as Collectors
participant iw as Indexed website
pb->>pb: CRON Job
loop for each collector
pb->>cl: Collect()
cl->>iw: Fetch API or webpages
iw->>cl: Raw data
cl->>cl: Clean and normalize<br>collected events
cl->>pb: Upsert event
end
Before you begin, ensure you have the following installed:
- Go 1.25+
- Node.js 18+
- pnpm (will be used by the build process)
To install all dependencies, run:
make installThis will:
- Download Go modules
- Install modd (Go-based file watcher for development)
- Install UI dependencies using pnpm
To build the application, run:
make buildThis command:
- Builds the UI (if needed)
- Embeds the UI into the Go binary
- Compiles the Go application
To run the application in development mode:
make devThis command:
- Builds the UI if it doesn't exist
- Uses modd to watch for file changes and automatically rebuild/restart the application
For UI-only development:
make dev-uiTo clean build artifacts:
make cleanYou can test the CI workflow locally before pushing changes using act, a tool for running GitHub Actions locally:
- Install Docker (required for act)
- Install act:
# macOS brew install act # Linux curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash # Windows (with Chocolatey) choco install act-cli
- Run the CI workflow locally:
# From the repository root act # To run a specific job act -j build # To list all available actions act -l
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Sortir aims to be the go-to platform for discovering what's happening around you. Unlike specialized services limited to specific event types or locations, or the static view provided by mapping services, Sortir offers a dynamic, personalized experience.
Like a search engine for local activities, it crawls, indexes, and displays events on an interactive map - from movies showing tonight at nearby theaters to temporary exhibitions closing tomorrow, concerts, festivals, and parties.
The platform learns your preferences over time and can even suggest activity itineraries for you and your friends when exploring a new city.
