MCP cover image
See in Github
2025-04-14

Application Tide Forecast avec backend Fastapi et frontend Flutter

0

Github Watches

0

Github Forks

0

Github Stars

Tide MCP

A cross-platform app for tides, moon phases, and fishing/hunting predictions. Now supports learning any town/location selected by users.

Version: 1.2.9

Built with:

  • Backend: FastAPI (Python) + SQLite (locations.db)
  • Frontend: Flutter (Dart)

Getting Started

Backend Setup (FastAPI)

  1. Navigate to the backend directory:
    cd backend
    
  2. Create and activate a virtual environment:
    python3 -m venv .venv
    source .venv/bin/activate
    
  3. Install dependencies:
    pip install -r requirements.txt
    
  4. Configure environment variables:
    • Copy .env.sample to .env and add any required API keys or settings.
  5. Start the backend server:
    uvicorn main:app --reload
    

Frontend Setup (Flutter)

  1. Navigate to the frontend directory:
    cd frontend
    
  2. Install Flutter dependencies:
    flutter pub get
    
  3. Run the app:
    flutter run
    

Testing

  • The app now supports robust widget testing using a test-only parameter (initialLoading) in TideHomePage for modern, testable UI state injection.
  • To run tests:
    flutter test
    

Changelog Automation

  • The changelog (CHANGES.md) is automatically generated from commit history using git-cliff.
  • To update the changelog, run:
    ./scripts/update_changelog.sh
    
    (Requires git-cliff to be installed. See git-cliff releases.)

Versioning Automation

  • The project version is stored in the VERSION file and in the README.
  • To bump the version:
    • For a major release: ./scripts/bump_version.sh major
    • For a new feature: ./scripts/bump_version.sh minor
    • For a fix: ./scripts/bump_version.sh patch
  • This will update both the VERSION file and the version in the README.

Features

  • Location learning: Select any town/location and it will be stored for future lookups.
  • Tide, moon, and prediction data are shown only after a location is selected.
  • SQLite database for local location storage.
  • Modern testability patterns for Flutter frontend.

Changelog

  • 1.2.9: Fix: Added assets/VERSION to pubspec.yaml and moved VERSION file to assets directory so app version is loaded and displayed dynamically in the app bar and MaterialApp title.
  • 1.2.8: Bugfix: The "week at a glance" feature now appears immediately after a location is selected, without needing to refresh. This was fixed by ensuring fetchAll() is called after location selection, not just for today data.
  • 1.2.7: Refactor: Removed all references to towns.json and stations.json. The backend now uses a default station for manual/geocoded locations.
  • 1.2.6: Fixed: Tide data is now displayed after entering a manual location and pressing enter. The UI now shows tide data for both database and manual/geocoded locations.
  • 1.2.4: Fixed: Manual location entry now works when hitting return/enter in the location field. Users can now enter any location and immediately fetch tide data by pressing enter.
  • 1.2.2: Locations not in the database are now selectable and return estimated tides using the nearest NOAA station. Backend API returns an estimated flag and source station info for non-database locations.
  • 1.2.1: Added testable constructor to TideHomePage for robust widget testing. All tests now pass reliably. Updated docs for modern testability.
  • 1.2.0: Switched to SQLite for locations, improved UI/UX, added location learning.

相关推荐

  • Contraband Interactive
  • Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.

  • rustassistant.com
  • Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.

  • Aurity Ltd
  • Create and Publish Business Websites in seconds. AI will gather all the details about your website and generate link to your website.

  • Convincible Ltd
  • You're in a stone cell – can you get out? A classic choose-your-adventure interactive fiction game, based on a meticulously-crafted playbook. With a medieval fantasy setting, infinite choices and outcomes, and dice!

  • John Rafferty
  • Text your favorite pet, after answering 10 questions about their everyday lives!

  • Ian O'Connell
  • Provide players' names or enter Quickstart to start the game!

  • analogchat.com
  • Efficient Spotify assistant for personalized music data.

  • seabiscuit.ai
  • Discover A More Robust Business: Craft tailored value proposition statements, develop a comprehensive business model canvas, conduct detailed PESTLE analysis, and gain strategic insights on enhancing business model elements like scalability, cost structure, and market competition strategies. (v1.18)

  • n8n-io
  • Plateforme d'automatisation de workflow à code équitable avec des capacités d'IA natives. Combinez le bâtiment visuel avec du code personnalisé, de l'auto-hôte ou du cloud, 400+ intégrations.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的 LLM 资料总结 (数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Résumé des meilleures ressources LLM du monde.

  • metorial
  • Versions conteneurisées de centaines de serveurs MCP 📡 🧠 🧠

  • av
  • Exécutez sans effort LLM Backends, API, Frontends et Services avec une seule commande.

  • langgenius
  • Azure
  • Ce référentiel est pour le développement du serveur MCP Azure, apportant la puissance d'Azure à vos agents.

  • alibaba
  • 1Panel-dev
  • 🔥 1Panel fournit une interface Web intuitive et un serveur MCP pour gérer des sites Web, des fichiers, des conteneurs, des bases de données et des LLM sur un serveur Linux.

  • superiorlu
  • 🤖 Recueillir des référentiels, des outils, des sites Web, des articles et des tutoriels pratiques sur l'IA. 实用的 ai 百宝箱 💎

  • Byaidu
  • PDF Traduction de papier scientifique avec formats conservés - 基于 AI 完整保留排版的 PDF 文档全文双语翻译 , 支持 Google / Deepl / Olllama / Openai 等服务 , 提供 CLI / GUI / MCP / DOCKER / ZOTERO

  • caio-moliveira
  • Ce projet a été créé pour démontrer comment nous pouvons nous connecter avec différents protocoles de contexte de modèle (MCP).

  • rulego
  • ⛓️RULEGO est un cadre de moteur de règle d'orchestration des composants de nouvelle génération légère, intégrée, intégrée et de nouvelle génération pour GO.

    Reviews

    5 (1)
    Avatar
    user_QIOqpBr0
    2025-04-24

    As a dedicated user of tide-mcp, I can confidently say that this product by philiplawlor has exceeded my expectations. The user-friendly interface and comprehensive features make it a must-have for anyone in need of quality MCP applications. Highly recommended!