
潮汐-MCP
带有FastApi后端和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)
-
Navigate to the backend directory:
cd backend
-
Create and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables:
- Copy
.env.sample
to.env
and add any required API keys or settings.
- Copy
-
Start the backend server:
uvicorn main:app --reload
Frontend Setup (Flutter)
-
Navigate to the frontend directory:
cd frontend
-
Install Flutter dependencies:
flutter pub get
-
Run the app:
flutter run
Testing
- The app now supports robust widget testing using a test-only parameter (
initialLoading
) inTideHomePage
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:
(Requires./scripts/update_changelog.sh
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
- For a major release:
- 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.
相关推荐
Flock是一个基于工作流程的低音平台,可快速构建聊天机器人,抹布和协调多代理团队,由Langgraph,Langchain,Langchain,Fastapi和Nextjs提供支持。(羊群工作流工作流的低代码平台,rag rag rag 用于快速构建聊天机器人、 rag temant Agent fastem temantfaster和muti-agent agagent应用
😎简单易用、🧩丰富生态 -大模型原生即时通信机器人平台| 适配QQ / 微信(企业微信、个人微信) /飞书 /钉钉 / discord / telegram / slack等平台| 支持chatgpt,deepseek,dify,claude,基于LLM的即时消息机器人平台,支持Discord,Telegram,微信,Lark,Dingtalk,QQ,Slack
Reviews

user_QIOqpBr0
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!