mirror of
https://github.com/tiennm99/vngeoguessr.git
synced 2026-10-14 14:17:57 +00:00
feat: update docs
This commit is contained in:
1 parent
e64a66d64d
commit
2b5359e3cb
5 files changed
+75
-59
No files matched your search
+22
-15
@@ -2,39 +2,46 @@
|
||||
|
||||
## Frontend Framework
|
||||
- **Next.js 15.4.6**: React-based full-stack framework with App Router
|
||||
- **React 19**: Latest React version for component architecture
|
||||
- **React 19.1.0**: Latest React version for component architecture
|
||||
- **Tailwind CSS 4**: Utility-first CSS framework for styling
|
||||
|
||||
## Street View & Mapping
|
||||
- **Mapillary API**: Panoramic street-level imagery provider
|
||||
- **PhotoSphere Viewer**: 360° panorama viewer with zoom and fullscreen
|
||||
- **Leaflet**: Interactive mapping library
|
||||
- **Mapillary API**: Panoramic street-level imagery provider (thumbnail URLs)
|
||||
- **Leaflet**: Interactive mapping library for guess placement
|
||||
- **OpenStreetMap**: Map tile provider for base maps
|
||||
- **@photo-sphere-viewer/core**: 360° panorama viewer (planned integration)
|
||||
|
||||
## Geographic Processing
|
||||
- **Nominatim API**: OpenStreetMap geocoding service for city boundaries
|
||||
- **Turf.js**: Spatial operations library for point-in-polygon detection and distance calculations
|
||||
- **Geospatial Logic**: Server-side coordinate validation and boundary checking
|
||||
- **@turf/turf**: Spatial operations library for distance calculations and point processing
|
||||
- **Bbox-based Location**: Pre-defined city bounding boxes for location generation
|
||||
- **Server-side Calculations**: All geographic processing on backend
|
||||
|
||||
## Data Storage & Session Management
|
||||
- **Redis**: Persistent leaderboard storage with automatic trimming
|
||||
- **In-Memory Map**: Server-side session storage with 30-minute expiry
|
||||
- **Session Isolation**: Secure target coordinate storage per game session
|
||||
- **Redis**: Complete session and leaderboard storage
|
||||
- **Redis Sorted Sets**: Leaderboard ranking with automatic trimming
|
||||
- **UUID v4**: Session identifier generation
|
||||
- **30-minute Session Expiry**: Automatic Redis-based cleanup
|
||||
|
||||
## UI Components & Styling
|
||||
- **shadcn/ui**: Component library with "new-york" style
|
||||
- **shadcn/ui**: Complete component library with "new-york" style
|
||||
- **Radix UI**: Headless component primitives
|
||||
- **Lucide React**: Icon library
|
||||
- **class-variance-authority**: Component variant management
|
||||
- **tailwind-merge + clsx**: Dynamic class name handling
|
||||
- **CSS Variables**: Theme-based styling system
|
||||
|
||||
## Form Handling & Validation
|
||||
- **react-hook-form**: Form state management
|
||||
- **@hookform/resolvers**: Form validation resolvers
|
||||
- **zod**: Schema validation
|
||||
|
||||
## Development & Analytics
|
||||
- **ESLint**: Code linting with Next.js configuration
|
||||
- **Turbopack**: Development server bundler
|
||||
- **Vercel Analytics**: User analytics tracking
|
||||
- **Vercel Speed Insights**: Performance monitoring
|
||||
- **@vercel/analytics**: User analytics tracking
|
||||
- **@vercel/speed-insights**: Performance monitoring
|
||||
|
||||
## Key Dependencies
|
||||
- **UUID**: Unique session identifier generation
|
||||
- **uuid**: v11.1.0 for unique session identifier generation
|
||||
- **redis**: v5.8.0 for data persistence
|
||||
- **JavaScript Only**: No TypeScript - pure JavaScript implementation
|
||||
- **Individual Parameters**: Functions use separate parameters instead of object destructuring
|
||||
Reference in new issue
Block a user