Tripa is a location-based app that allows users to mark and log places they have visited. Users can sign in to add new locations, view them on a map, and manage their logs. The app includes features such as a dark/light theme toggle, responsive navigation for mobile and desktop, and uses secure authentication via session-based login.
- Next.js (App Router) – Framework
- Tailwind CSS – Styling
- ShadCN UI – UI Components
- BetterAuth – Authentication
- Turso DB - SQLite Database
- Drizzle ORM – Database ORM
- MapLibre GL JS – Map Rendering
- OpenFreeMap – Map Tiles
- OpenStreetMap Nominatim API – Geolocation Search
- React Hook Form – Form Management
- Zod – Schema Declaration and Validation
To run this project, the following environment variables must be set in a .env file:
TURSO_DATABASE_URL= # URL to your Turso database instance
TURSO_AUTH_TOKEN= # Auth token for your Turso database
BETTER_AUTH_URL= # Base URL for BetterAuth service
BETTER_AUTH_SECRET= # Secret key for BetterAuth
GITHUB_CLIENT_ID= # GitHub client ID
GITHUB_CLIENT_SECRET= # GitHub client secret
GOOGLE_CLIENT_ID= # Google client ID
GOOGLE_CLIENT_SECRET= # Google client secretInstall the required dependencies:
pnpm installRun the development server:
pnpm devOpen http://localhost:3000 with your browser to see the result.