Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mevlutayilmaz/orienteering
This project is a mobile application developed for the sport of orienteering.
https://github.com/mevlutayilmaz/orienteering
dart firabase firebase-authentication firebase-firestore firebase-storage flutter google-maps-api gps location mobile-app orienteering qr-code qrcode qrcode-generator qrcode-scanner
Last synced: about 2 months ago
JSON representation
This project is a mobile application developed for the sport of orienteering.
- Host: GitHub
- URL: https://github.com/mevlutayilmaz/orienteering
- Owner: mevlutayilmaz
- Created: 2024-05-17T14:21:21.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-08-15T14:37:37.000Z (5 months ago)
- Last Synced: 2024-08-16T13:55:10.748Z (5 months ago)
- Topics: dart, firabase, firebase-authentication, firebase-firestore, firebase-storage, flutter, google-maps-api, gps, location, mobile-app, orienteering, qr-code, qrcode, qrcode-generator, qrcode-scanner
- Language: Dart
- Homepage:
- Size: 539 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Orienteering
Bu proje, oryantiring sporu için geliştirilen bir mobil uygulamadır. Oryantiring, katılımcıların harita üzerindeki belirli kontrol noktalarını en hızlı şekilde bulmalarını gerektiren bir spordur. Uygulama, modern akıllı telefonların GPS ve QR kod okuma gibi özelliklerini kullanarak oryantiringi daha erişilebilir ve kullanıcı dostu hale getirmeyi amaçlamaktadır. Uygulama, Flutter çerçevesi kullanılarak geliştirilmiştir.
## İçindekiler
- [Oryantiring Nedir?](#oryantiring-nedir)
- [Özellikler](#özellikler)
- [Kullanılan Teknolojiler](#kullanılan-teknolojiler)
- [Kurulum](#kurulum)
- [Kullanım](#kullanım)
- [Ekran Görüntüleri](#ekran-görüntüleri)## Oryantiring Nedir?
Oryantiring, katılımcıların bir harita ve pusula yardımıyla belirlenen kontrol noktalarına en hızlı şekilde ulaşmaya çalıştıkları bir doğa sporudur. Bu spor, fiziksel ve zihinsel dayanıklılığı bir araya getirir. Oryantiringde başarı, doğru yön bulma, hızlı karar verme ve etkili bir strateji geliştirmeye bağlıdır. Farklı arazi koşullarında yapılan oryantiring, genellikle ormanlık alanlarda, parkurlarda veya şehir içindeki belirli bölgelerde gerçekleştirilebilir.
Oryantiring, sadece bir spor değil, aynı zamanda doğal ortamda yön bulma becerilerinizi test eden ve geliştiren bir etkinliktir. Hem bireysel olarak hem de takım olarak yapılabilen bu spor, her yaş grubundan insan için uygundur ve doğayla iç içe olmayı sevenler için ideal bir etkinliktir.
Oryantiring, dünyada birçok ülkede popülerdir ve çeşitli yarışmalar ve etkinlikler düzenlenir. Bu spor, hem amatör hem de profesyonel sporcular tarafından ilgi görmektedir.
## Özellikler
- **Kullanıcı Kimlik Doğrulama**: Firebase Authentication ile güvenli giriş ve kayıt.
- **Gerçek Zamanlı GPS Takibi**: Kullanıcıların gerçek dünya konumlarını takip edin ve gösterin.
- **Harita Entegrasyonu**: Kullanıcıların kontrol noktalarına ulaşmalarına yardımcı olmak için etkileşimli haritalar.
- **QR Kod Entegrasyonu**: Çeşitli kontrol noktaları için QR kodları oluşturun ve tarayın.
- **Oyun Modları**: Hem iç mekan hem de dış mekan oryantiring oyunları için destek.
- **Kullanıcı Profili**: Kullanıcılar profil bilgilerini güncelleyebilir ve fotoğraf yükleyebilir.
- **Oyun Geçmişi**: Kullanıcılar oynadıkları oyunları görebilir ve skorlarını inceleyebilir.
- **İstatistik Takibi**: Performans istatistiklerini izleyin ve zaman içindeki performansınızı karşılaştırın.
- **Skor Karşılaştırma**: Arkadaşlarınızla veya diğer oyuncularla skorlarınızı karşılaştırın.## Kullanılan Teknolojiler
- **Flutter**: Çok platformlu mobil uygulama geliştirme çerçevesi.
- **Firebase Firestore**: Kullanıcı verilerini ve oyun bilgilerini saklamak için gerçek zamanlı veritabanı.
- **Firebase Authentication**: Kullanıcı kimlik doğrulama sistemi.
- **Firebase Storage**: Kullanıcı profil fotoğraflarını ve diğer medya dosyalarını depolamak için.
- **Google Maps API**: Harita ve konum hizmetleri için.
- **QR Kod**: Kontrol noktası işaretlerini oluşturmak ve taramak için.## Kurulum
Projeyi yerel olarak kurmak için şu adımları izleyin:1. **Depoyu klonlayın:**
```bash
git clone https://github.com/mevlutayilmaz/orienteering.git2. **Proje dizinine gidin:**
```bash
cd orienteering3. **Bağımlılıkları yükleyin:**
```bash
flutter pub get4. **Firebase'i projeniz için ayarlayın:**
- Firebase Konsolu üzerinden bir Firebase projesi oluşturun.
- Firebase projenize Android ve iOS uygulamaları ekleyin.
- `google-services.json` ve `GoogleService-Info.plist` dosyalarını Firebase'den indirip proje dosyalarınızla değiştirin.5. **Google Maps API'yi Ayarlama:**
- Google Cloud Console'dan bir API anahtarı oluşturun.
- Oluşturduğunuz API anahtarını aşağıdaki gibi `AndroidManifest.xml` dosyasına ekleyin:```xml
```
- Bu dosya, proje dizininde `android/app/src/main/AndroidManifest.xml` yolunda bulunmaktadır.6. **Uygulamayı çalıştırın:**
```bash
flutter run## Kullanım
### 1. Giriş ve Kayıt
- **Kayıt Ol:** Yeni bir kullanıcı olarak kayıt olun. E-posta adresinizi ve şifrenizi girin. Ayrıca, isteğe bağlı olarak bir profil fotoğrafı yükleyebilirsiniz.
- **Giriş Yap:** Mevcut bir hesabınız varsa, e-posta adresiniz ve şifrenizle giriş yapın.### 2. Kullanıcı Profili
- **Profil Güncelleme:** Profil sayfanıza gidin. Burada adınızı, e-posta adresinizi güncelleyebilir ve yeni bir profil fotoğrafı yükleyebilirsiniz.
- **Profil Fotoğrafı Yükleme:** Galerinizden bir fotoğraf seçin veya kamerayı kullanarak yeni bir fotoğraf çekin.### 3. Oyun Oluşturma ve Oynama
- **Oyun Modları:** İç mekan ve dış mekan oryantiring oyunları arasında seçim yapabilirsiniz.
- **Oyun Oluşturma:** Yeni bir oyun oluştururken, kontrol noktalarını belirleyin ve QR kodlarını yerleştirin (iç mekan oyunlar için). Oyun başlamadan önce haritada bu noktaları işaretleyin.
- **Oynama:** Oyun sırasında, GPS'inizi kullanarak belirtilen kontrol noktalarına gidin. Kontrol noktasına ulaştığınızda, QR kodunu tarayarak (iç mekan oyunlar için) ilerleyin.
- **Gerçek Zamanlı Takip:** Harita üzerinde kendinizi ve kontrol noktalarınızı gerçek zamanlı olarak görün.### 4. Oyun Geçmişi ve İstatistikler
- **Oyun Geçmişi:** Oynadığınız oyunların bir listesini profil sayfanızda görebilirsiniz. Her bir oyun için hangi kontrol noktalarına ulaştığınızı ve oyun süresini inceleyin.
- **Skorlar ve Karşılaştırma:** Oyun sonrasında, skorlarınızı inceleyin ve diğer oyuncularla karşılaştırın. Skorlar, harita üzerinde hangi noktalara ne kadar sürede ulaştığınızı gösterir.
- **İstatistik Takibi:** Zaman içindeki performansınızı grafiklerle inceleyin. En hızlı sürede tamamladığınız oyunları ve genel başarı oranınızı görün.### 5. QR Kod Yönetimi
- **Kontrol Noktası Oluşturma:** Yeni bir iç mekan oyunu oluştururken, her bir kontrol noktası için bir QR kodu oluşturabilirsiniz. Bu kodlar, oyun sırasında taranmak üzere kullanılır.
- **QR Kod Tarama:** Oyun sırasında belirtilen kontrol noktasına ulaştığınızda, QR kodu tarayarak ilerleyin. Bu, oyunun ilerleyişini kaydeder ve skorlarınızı günceller.## Ekran Görüntüleri
Welcome
Login
Signup
Home
Profile
Statistics
About Orienteering
Outdoor Games
Indoor Games
Edit Profile
Create Game Home
Create Game Outdoor
Create Game Indoor
Create QR
My Games
Light Mode
Dark Mode
No Internet