Web app to track visited lighthouses around the world with a map to display visited points.
- Interactive lighthouse map with global lighthouse data
- User authentication and registration via Clerk
- Personal visited lighthouse tracking
- Social features: friends and friend requests
- Combined friend/personal lighthouse maps
- Lighthouse wishlist functionality
- Lighthouse visit photo upload
- Backend: Go REST API with clean architecture
- Frontend: React with TypeScript and Vite
- Authentication: Clerk for secure user management
- Database: Turso (SQLite) with embedded replica
- Maps: Pigeon-Maps for interactive map visualization
- API Documentation - Complete API reference and examples
- Development Setup - Get started with local development
- System Architecture - Technical architecture overview
- Deployment Guide - Production deployment instructions
- Go 1.24.0+
- Node.js 18+
- Git
-
Clone the repository
git clone https://github.com/faluciano/faros.git cd faros -
Setup Backend
cd lighthouse-backend go mod download cp .env.example .env # Edit .env with your Clerk credentials go run main.go
-
Setup Frontend
cd lighthouse-frontend npm install npm run dev -
Access the application
- Frontend: http://localhost:5173
- API Documentation: http://localhost:8080/docs/
- API: https://faros-backend.azurewebsites.net/docs/
- Web App: https://agreeable-pond-025c6731e.5.azurestaticapps.net/
Please read our development setup guide for contribution guidelines.
This project is licensed under the MIT License.