Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# See https://www.dartlang.org/guides/libraries/private-files

# Files and directories created by pub
.dart_tool/
.packages
build/
# If you're building an application, you may want to check-in your pubspec.lock
pubspec.lock
.mason/
mason.yaml
mason-lock.json

# Directory created by dartdoc
# If you don't generate documentation locally you can remove this line.
doc/api/

# dotenv environment variables file
.env*

# Avoid committing generated Javascript files:
*.dart.js
*.info.json # Produced by the --dump-info flag.
*.js # When generated by dart2js. Don't specify *.js if your
# project includes source files written in JavaScript.
*.js_
*.js.deps
*.js.map

.flutter-plugins
.flutter-plugins-dependencies
19 changes: 19 additions & 0 deletions .idea/libraries/Dart_SDK.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions .idea/libraries/KotlinJavaRuntime.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/runConfigurations/main_dart.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 36 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 45 additions & 0 deletions .metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.

version:
revision: "5874a72aa4c779a02553007c47dacbefba2374dc"
channel: "stable"

project_type: app

# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
- platform: android
create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
- platform: ios
create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
- platform: linux
create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
- platform: macos
create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
- platform: web
create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
- platform: windows
create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc
base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc

# User provided section

# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'
150 changes: 101 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,124 @@
# Gebeta Maps Hackathon
<p align="center">
<img src="assets-/g-wide.svg" alt="Go Find Taxi Logo" width="261" height="55"/>
</p>

![Gebeta Maps Logo](./assets/g-wide.svg)
# Go Find Taxi 🚕

Create innovative products using Gebeta Maps and win amazing prizes! This 2-week online hackathon challenges developers to build creative solutions using Gebeta Maps' powerful mapping infrastructure.
A Flutter-based mobile application designed to help Ethiopian commuters easily locate and navigate traditional bus taxi routes.

## 🗓️ Important Dates
## Problem Statement 🎯

- **Registration Opens**: Oct 27th, 2024
- **Registration Ends**: Nov 6th, 2024
- **Hackathon Starts**: Nov 7th, 2024
- **Project Submission Deadline**: Nov 14th, 2024
- **Winners announced** + ✨ **Prizes** ✨ : Nov 16/17th, 2024
In Ethiopia, affordable public transportation options, such as traditional bus taxis, play a vital role in daily commuting. However, locating these taxis, particularly for less familiar routes, can be challenging due to:

## 🎯 About the Hackathon
- Lack of centralized information
- No real-time updates on taxi locations
- Difficulty finding correct pick-up points
- Limited knowledge of routes for unfamiliar destinations
- Time wasted waiting at incorrect stops

Join us for an exciting 2-week online hackathon where you'll leverage Gebeta Maps to create innovative products. We provide all the necessary tooling and infrastructure - you bring your creativity and skills!
GoFindTaxi seeks to address these issues by offering a user-friendly platform that enables commuters to locate traditional bus taxis in real-time, access detailed information about popular routes, and receive personalized recommendations.

### Key Features
- 🚀 2 weeks to develop and submit your demo
- 🏆 Win prizes and get featured on our blog
- 🛠️ All necessary tools and infrastructure provided
- 💡 Build with Gebeta Maps' powerful mapping platform
## Features ✨

## 🏆 Prizes
- **Location Search**: Search for any location and find nearby taxi stations
- **Route Planning**: Get optimal routes between your location and Taxi Place
- **Price Estimation**: View estimated taxi fares for your journey
## GebetaMaps API Integration 🗺️

1. **First Place**
- Featured on Gebeta Maps Blog
- 6 Months Free Hosting
The project utilizes GebetaMaps API for the following services:

2. **Second Place**
- 3 Months Free Hosting
### Direction Service
- Calculates optimal public transport routes
- Identifies traditional taxi routes between locations
- Provides estimated travel times

3. **Third Place**
- 1 Month Free Hosting
### Geocoding Service
- Converts location names to coordinates
- Enables search functionality for destinations
- Identifies nearby landmarks for pick-up points

## 📋 Requirements
### Reverse Geocoding
- Converts coordinates to readable addresses
- Helps identify current location context
- Provides landmark references for users

### Technical Requirements
- Must use Gebeta Maps API
- Projects must be original work
- Code should be built on a fork of this template repo and submitted as a PR
- Demo must be accessible online
## Getting Started 🚀

### Team Requirements
- Individual or team participation allowed
- Maximum team size: `NA` (go nuts)
- Participants must register before the deadline
### Prerequisites
- Flutter SDK (^3.5.1)
- GebetaMaps API key
- Git

## 🛠️ Getting Started
### Installation

1. **Register**
- Sign up [here](https://hackathon.gebeta.app/register)
- Form/join a team (optional)
1. Clone the repository

2. **Access Resources**
- Get your API keys [TBD]
- Review documentation [here](https://gebeta.app/#/documentation)
2. Create a `.env` file in the root directory:
```
GEBETA_MAPS_API_KEY=your_api_key_here
```

3. **Build & Submit**
- Clone this repository (we ask that you dont try and change this README)
- Develop your solution
- Open a pull request before the deadline (Nov 35, 2024)
3. Install dependencies
```bash
flutter pub get
```

4. Run the app
```bash
flutter run
```

## 📞 Support
## Required Permissions 📱

- Email: [info@gebeta.app]
- Location access
- Internet connectivity
- Background location updates

---
## Future Enhancements 🔮

1. **Real-time Taxi Tracking**
- Live updates of taxi locations
- Estimated arrival times

2. **Community Features**
- User-contributed route information
- Route ratings and reviews
- Traffic updates

3. **Enhanced Navigation**
- Turn-by-turn walking directions to pick-up points
- Alternative route suggestions
- Peak hours information

4. **Accessibility Features**
- Voice guidance
- High contrast mode
- Screen reader optimization

## Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request.

## Download 📱

Organized by Gebeta Maps © 2023
You can download and test the latest version of Go Find Taxi:

[<img src="https://img.shields.io/badge/Download-APK-green.svg?style=for-the-badge&logo=android"
height="80"
alt="Download APK">](assets-/app-release.apk)

> **Note:** Make sure to enable "Install from Unknown Sources" in your Android settings to install the APK.

## Acknowledgments 🙏

- GebetaMaps for providing the mapping API
- [Trufi Association](https://trufi-association.org/#projects) for inspiration and APIs for informal transport solutions
- Used their open-source APIs and tools for public transport routing
- Based on their proven solutions for informal transportation systems

## Contact 📧

For any queries or suggestions, please open an issue in the repository.

---
Made with ❤️ for Ethiopian commuters
30 changes: 30 additions & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.

# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
analyzer:
errors:
invalid_annotation_target: ignore
include: package:flutter_lints/flutter.yaml

linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at https://dart.dev/lints.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
13 changes: 13 additions & 0 deletions android/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java

# Remember to never publicly share your keystore.
# See https://flutter.dev/to/reference-keystore
key.properties
**/*.keystore
**/*.jks
Loading