Welcome to the Divemap documentation. This directory contains comprehensive documentation for the Divemap scuba diving platform.
- README.md - User onboarding and application usage guide
- README.md - Development overview, setup, and workflow
- Architecture.md - System architecture and design
- Database.md - Database documentation and migrations
- API.md - API documentation and endpoints
- Testing.md - Testing guide (see TESTING_STRATEGY.md for comprehensive details)
- Importing Data - Comprehensive guide for importing dive data from Subsurface
- Frontend Rate Limiting Error Handling - Comprehensive frontend error handling for API rate limits
- Sorting Implementation Plan - Comprehensive sorting functionality implementation
- Newsletter Management - Newsletter parsing and trip management (see Development README)
- Phase 2: Map Integration - Interactive map visualization for dive trips (see Development README)
- Import Scripts - Dive site import utilities with smart conflict resolution (see Development README)
- Diving Organizations Admin - Admin management for diving organizations
- JavaScript Style Rules - Frontend coding standards and best practices
- Floating Search and Filter Boxes Guide - Implementation guide for floating search and filter boxes
- GitHub Actions - CI/CD workflow configuration
- Permissions - User roles, permissions, and access control
- README.md - Comprehensive deployment guide (includes all deployment strategies, Docker, Fly.io, and infrastructure)
- Fly.io.md - Detailed Fly.io deployment guide with advanced features
- README.md - Security overview, measures, and best practices
- OAuth Setup.md - Google OAuth configuration
- Rate Limiting - Enhanced rate limiting with localhost and admin exemptions, plus comprehensive frontend error handling (see API.md, Security README, and Development README)
- README.md - Maintenance overview and troubleshooting
- Migrations.md - Database migrations guide
- Changelog.md - Complete change history and API changes
- Changelog Maintenance Rules - Guidelines for maintaining the changelog following Keep a Changelog standards
- TESTING_STRATEGY.md - Comprehensive testing strategy and procedures
- Start with Getting Started for application usage and features
- Development Overview - Development setup and workflow
- Architecture Documentation - System design and components
- API Documentation - API endpoints and usage
- Testing Guide - Testing procedures (see TESTING_STRATEGY.md for details)
- Docker Configuration - Container setup and optimization
- Phase 2: Map Integration - Interactive map visualization for dive trips
- Importing Data - Guide for importing dive sites and dives from Subsurface
- Rate Limiting Error Handling - Frontend error handling for API rate limits
- Sorting Implementation - Comprehensive sorting functionality and admin restrictions
- Floating Search and Filter Boxes - Implementation guide for floating search and filter boxes
- Deployment Overview - Comprehensive deployment guide (includes Docker, Fly.io, and infrastructure)
- Fly.io Guide - Advanced Fly.io deployment features and configuration
- Development Docker Guide - Development container configuration
- Security Overview - Security measures and best practices
- OAuth Setup - Authentication configuration
- Maintenance Overview - Maintenance procedures and troubleshooting
- Database Migrations - Schema change management
- Changelog - Complete version history and API changes
../README.md- Main project overview../CHANGELOG.md- Application changelog
All documentation should:
- Include clear problem statements
- Provide step-by-step solutions
- Include testing procedures
- Document security considerations
- List all affected files
- Include troubleshooting sections
- Use consistent markdown formatting
- Include table of contents for files > 100 lines
Production URLs:
- Frontend: https://divemap.fly.dev
- Backend API: https://divemap-backend.fly.dev
- Database: Internal network only (
divemap-db.flycast)
Recent Updates:
- ✅ Phase 2: Map Integration and Visualization completed
- ✅ Interactive map component for dive trips implemented
- ✅ Database migration 0027: trip_difficulty_level nullable constraint fixed
- ✅ Newsletter content enhancement in API responses
- ✅ High Priority Documentation Consolidation Completed - Consolidated import documentation and Docker documentation
- ✅ Import Documentation Consolidated - Merged 3 files (IMPORTING_DATA.md, import-subsurface-xml.md, subsurface-import-plan.md) into single comprehensive guide
- ✅ Docker Documentation Consolidated - Merged docker-quick-reference.md into main deployment README
- ✅ Documentation consolidation completed - Eliminated duplication between deployment and getting-started sections
- ✅ Streamlined deployment documentation - Consolidated Docker, infrastructure, and deployment into single comprehensive guide
- ✅ Refocused getting-started guide - Now focuses on user onboarding and application usage
- ✅ Reduced deployment files - From 4 files to 2 files (main README + Fly.io guide)
- ✅ Removed duplicate content across files
- ✅ Streamlined testing documentation
- ✅ Consolidated security measures
- ✅ Sorting Implementation Complete - Comprehensive sorting across all entity types with admin restrictions
- ✅ Difficulty Level System Converted - From ENUM strings to integers for better performance
- ✅ Database Migration 0024 - Applied with comprehensive sorting indexes
- ✅ Merged troubleshooting into maintenance guide
- ✅ Reduced total documentation files from 22 to 16
- ✅ Added comprehensive frontend rate limiting error handling documentation
- ✅ Added diving organizations and user certifications documentation
- ✅ Updated API documentation with new endpoints
- ✅ Enhanced database documentation with new schema
- ✅ Updated changelog with latest features
- ✅ Added newsletter management system documentation
- ✅ Integrated newsletter parsing and trip management features
- ✅ Updated API docs with newsletter endpoints
- ✅ Added ParsedDive and ParsedDiveTrip models to database docs
- ✅ Enhanced rate limiting documentation with localhost and admin exemptions
- ✅ Added count endpoints for dive sites, dives, and diving centers
- ✅ Implemented random selection for dive sites with total count display
- ✅ Updated security documentation with new rate limiting implementation
- ✅ Added rate limiting section to development documentation
- ✅ Implemented dive site aliases system with full CRUD operations
- ✅ Enhanced newsletter parsing with aliases-based dive site matching
- ✅ Updated database schema with dive_site_aliases table
- ✅ Added comprehensive aliases documentation and testing coverage
- User onboarding and application usage guide
- Architecture, API, database, testing, newsletter management, development workflow, and comprehensive import guide
- Comprehensive deployment guide (includes Docker quick reference) and advanced Fly.io features
- Security measures and OAuth setup (consolidated)
- Migrations, changelog, and consolidated maintenance/troubleshooting
- Comprehensive testing strategy and procedures
Total Documentation Files: 16 (reduced from 18)
docs/IMPORTING_DATA.md- Content merged into comprehensive import guidedocs/import-subsurface-xml.md- Content merged into comprehensive import guidedocs/development/subsurface-import-plan.md- Content merged into comprehensive import guidedocs/development/docker-quick-reference.md- Content merged into deployment READMEdocs/deployment/docker.md- Content merged into deployment READMEdocs/deployment/infrastructure.md- Content merged into deployment READMEdocs/security/measures.md- Content merged into security READMEdocs/maintenance/troubleshooting.md- Content merged into maintenance README
docs/development/testing.md- Now references comprehensive TESTING_STRATEGY.mddocs/getting-started/README.md- Focused on user onboarding, technical details moved to deploymentdocs/security/README.md- Consolidated security measures and audit resultsdocs/maintenance/README.md- Merged troubleshooting proceduresdocs/deployment/README.md- Consolidated Docker, infrastructure, and deployment informationdocs/development/importing-data.md- Comprehensive import guide consolidating 3 previous files
- Reduced Redundancy: Eliminated duplicate content across files
- Improved Clarity: Each file now has a clear, focused purpose
- Better Organization: Related content grouped logically
- Easier Maintenance: Fewer files to update and maintain
- Clearer Navigation: Users can find information more quickly
- Streamlined Deployment: Single comprehensive deployment guide
- User-Focused Getting Started: Clear separation between user onboarding and technical deployment
- Comprehensive Import Guide: Single source of truth for all import operations
- Consolidated Docker Reference: All Docker information in one place