Cover image
Try Now
2025-04-14

Aplicación de pronóstico de marea con Fastapi Backend y Flutter Frontend

3 years

Works with Finder

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.

相关推荐

  • av
  • Ejecute sin esfuerzo LLM Backends, API, frontends y servicios con un solo comando.

  • 1Panel-dev
  • 🔥 1Panel proporciona una interfaz web intuitiva y un servidor MCP para administrar sitios web, archivos, contenedores, bases de datos y LLM en un servidor de Linux.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的 llM 资料总结(数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Resumen de los mejores recursos del mundo.

  • rulego
  • ⛓️Rulego es un marco de motor de regla de orquestación de componentes de alta generación de alto rendimiento, de alto rendimiento y de alto rendimiento para GO.

  • Onelevenvy
  • Flock es una plataforma de bajo código de flujo de trabajo para construir rápidamente chatbots, trapo y coordinar equipos de múltiples agentes, impulsados ​​por Langgraph, Langchain, Fastapi y Nextjs.

  • Byaidu
  • Traducción de papel científico en PDF con formatos preservados - 基于 Ai 完整保留排版的 PDF 文档全文双语翻译 , 支持 支持 支持 支持 支持 支持 支持 支持 支持 支持 支持 支持 等服务 等服务 等服务 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 cli/mcp/docker/zotero

  • n8n-io
  • Plataforma de automatización de flujo de trabajo de código justo con capacidades de IA nativas. Combine el edificio visual con código personalizado, auto-anfitrión o nube, más de 400 integraciones.

  • sigoden
  • Cree fácilmente herramientas y agentes de LLM utilizando funciones Plain Bash/JavaScript/Python.

  • hkr04
  • SDK liviano C ++ MCP (Protocolo de contexto del modelo)

  • RockChinQ
  • 😎简单易用、🧩丰富生态 - 大模型原生即时通信机器人平台 | 适配 Qq / 微信(企业微信、个人微信) / 飞书 / 钉钉 / Discord / Telegram / Slack 等平台 | 支持 Chatgpt 、 Deepseek 、 DiFy 、 Claude 、 Gemini 、 Xai 、 PPIO 、 Ollama 、 LM Studio 、阿里云百炼、火山方舟、 Siliconflow 、 Qwen 、 Moonshot 、 Chatglm 、 SillyTraven 、 MCP 等 LLM 的机器人 / Agente | Plataforma de bots de mensajería instantánea basada en LLM, admite Discord, Telegram, WeChat, Lark, Dingtalk, QQ, Slack

  • dmayboroda
  • Trapo conversacional local con contenedores configurables

    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!