Skip to content

Latest commit

 

History

History
191 lines (158 loc) · 11.6 KB

File metadata and controls

191 lines (158 loc) · 11.6 KB

Divemap Documentation

Welcome to the Divemap documentation. This directory contains comprehensive documentation for the Divemap scuba diving platform.

📚 Documentation Index

🚀 Getting Started

  • README.md - User onboarding and application usage guide

🔧 Development

🚀 Deployment

  • 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

🛡️ Security

🔧 Maintenance

📋 Testing Strategy

📋 Quick Reference

For New Users

  1. Start with Getting Started for application usage and features

For Developers

  1. Development Overview - Development setup and workflow
  2. Architecture Documentation - System design and components
  3. API Documentation - API endpoints and usage
  4. Testing Guide - Testing procedures (see TESTING_STRATEGY.md for details)
  5. Docker Configuration - Container setup and optimization
  6. Phase 2: Map Integration - Interactive map visualization for dive trips
  7. Importing Data - Guide for importing dive sites and dives from Subsurface
  8. Rate Limiting Error Handling - Frontend error handling for API rate limits
  9. Sorting Implementation - Comprehensive sorting functionality and admin restrictions
  10. Floating Search and Filter Boxes - Implementation guide for floating search and filter boxes

For Deployment

  1. Deployment Overview - Comprehensive deployment guide (includes Docker, Fly.io, and infrastructure)
  2. Fly.io Guide - Advanced Fly.io deployment features and configuration
  3. Development Docker Guide - Development container configuration

For Security

  1. Security Overview - Security measures and best practices
  2. OAuth Setup - Authentication configuration

For Maintenance

  1. Maintenance Overview - Maintenance procedures and troubleshooting
  2. Database Migrations - Schema change management
  3. Changelog - Complete version history and API changes

🔗 Related Files

  • ../README.md - Main project overview
  • ../CHANGELOG.md - Application changelog

📝 Documentation Standards

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

🚀 Current Status

Production URLs:

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

📊 Documentation Categories

Getting Started (1 file)

  • User onboarding and application usage guide

Development (7 files)

  • Architecture, API, database, testing, newsletter management, development workflow, and comprehensive import guide

Deployment (2 files)

  • Comprehensive deployment guide (includes Docker quick reference) and advanced Fly.io features

Security (2 files)

  • Security measures and OAuth setup (consolidated)

Maintenance (3 files)

  • Migrations, changelog, and consolidated maintenance/troubleshooting

Testing Strategy (1 file)

  • Comprehensive testing strategy and procedures

Total Documentation Files: 16 (reduced from 18)

🔄 Consolidation Summary

Files Removed

  • docs/IMPORTING_DATA.md - Content merged into comprehensive import guide
  • docs/import-subsurface-xml.md - Content merged into comprehensive import guide
  • docs/development/subsurface-import-plan.md - Content merged into comprehensive import guide
  • docs/development/docker-quick-reference.md - Content merged into deployment README
  • docs/deployment/docker.md - Content merged into deployment README
  • docs/deployment/infrastructure.md - Content merged into deployment README
  • docs/security/measures.md - Content merged into security README
  • docs/maintenance/troubleshooting.md - Content merged into maintenance README

Files Streamlined

  • docs/development/testing.md - Now references comprehensive TESTING_STRATEGY.md
  • docs/getting-started/README.md - Focused on user onboarding, technical details moved to deployment
  • docs/security/README.md - Consolidated security measures and audit results
  • docs/maintenance/README.md - Merged troubleshooting procedures
  • docs/deployment/README.md - Consolidated Docker, infrastructure, and deployment information
  • docs/development/importing-data.md - Comprehensive import guide consolidating 3 previous files

Benefits Achieved

  • 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