A PyQt5-based map navigation application with user management, path finding, and graphical interface.
- 用户认证:使用 SQLite 数据库的登录和注册系统
- 地图显示:自定义背景的视觉地图界面
- 路径规划:地点间的最短路径计算
- 交互式界面:使用 PyQt5 的用户友好图形界面
- 数据存储:用户信息存储在 SQLite 数据库中
.
├── map.py # 主应用入口
├── Mainwce.py # 附加 UI 组件
├── database_option.py # 数据库操作 (SQLite)
├── dis33.py # 路径查找算法
├── picture/ # 图片资源
├── docs/ # 文档目录
│ ├── API.md # API 文档
│ ├── ARCHITECTURE.md # 架构设计
│ ├── USER_GUIDE.md # 用户指南
│ ├── DEVELOPMENT.md # 开发指南
│ └── DEPLOYMENT.md # 部署指南
├── tests/ # 测试目录
├── .github/ # GitHub 配置
│ ├── workflows/ # CI/CD 工作流
│ └── ISSUE_TEMPLATE/ # Issue 模板
├── requirements.txt # Python 依赖
├── setup.py # 安装配置
├── pyproject.toml # 现代构建配置
├── Makefile # 构建脚本
├── CONTRIBUTING.md # 贡献指南
├── CHANGELOG.md # 更新日志
├── LICENSE # 许可证
└── README.md # 本文件
- Python 3.8+
- PyQt5
- SQLite3
# 克隆仓库
git clone https://github.com/liangc001/Map-Navigation-App.git
cd Map-Navigation-App
# 安装依赖
pip install -r requirements.txt
# 或使用 Make
make installpython map.py
# 或
make runSQLite 数据库包含以下表:
user_mes: 用户登录信息 (id, password)
dis33.py 模块实现了最短路径算法:
- Floyd-Warshall 全源最短路径算法
- Dijkstra 单源最短路径算法
- 主窗口: 带地图显示的主应用窗口
- 登录对话框: 用户认证界面
- 路径搜索: 起点和终点输入
- 结果显示: 显示计算的路径和距离
欢迎贡献!请阅读 CONTRIBUTING.md 了解如何参与。
查看 CHANGELOG.md 了解版本历史。
本项目使用 MIT 许可证 - 详见 LICENSE 文件。
- User Authentication: Login and registration system with SQLite database
- Map Display: Visual map interface with custom backgrounds
- Path Finding: Shortest path calculation between locations
- Interactive UI: User-friendly graphical interface with PyQt5
- Database Storage: User information stored in SQLite database
- Python 3.8+
- PyQt5
- SQLite3
# Clone repository
git clone https://github.com/liangc001/Map-Navigation-App.git
cd Map-Navigation-App
# Install dependencies
pip install -r requirements.txt
# Or use Make
make installpython map.py
# or
make run- User Guide - Detailed usage instructions
- API Documentation - API reference
- Architecture - System design
- Development Guide - Developer documentation
- Deployment Guide - Deployment instructions
SQLite database with the following tables:
user_mes: User login information (id, password)
The dis33.py module implements:
- Floyd-Warshall all-pairs shortest paths
- Dijkstra single-source shortest paths
Contributions welcome! Please read CONTRIBUTING.md for guidelines.
See CHANGELOG.md for version history.
This project is licensed under the MIT License - see LICENSE file.
(Screenshots to be added)
- Basic user authentication
- Path finding algorithms
- GUI with PyQt5
- Add more map locations
- Real map integration (OpenStreetMap)
- Route visualization
- Multiple transportation modes
- Save favorite routes
- Mobile support
- PyQt5 Documentation
- SQLite Documentation
- Algorithm references for shortest path calculation
Note: This is a learning project created for educational purposes. The map data is simulated and not based on real geographic information.