Loktos Mobile
Loktos Mobile, Gezdir, Campus Hunt ve Campus Hunt Alumni mobil uygulamalarının Loktos veritabanına erişebilmesi için gerekli endpointleri sağlayan profesyonel bir Backend Web API projesidir.
- Kurum / bağlam
- Eyesoft Bilişim
- Kategori
- Web
- Dönem
- 1 Eyl 2021 - 1 Ara 2022
Teknolojiler
C# ASP.NET Core Web API 6 Entity Framework Core 6 Dapper Dependency Injection with IoC Autofac Generic Repository Pattern MySQL Git GitHub Docker Docker Compose JWT AWS SDK Postman AWS EC2 AWS ACM AWS ALB AWS RDS AWS S3
Loktos Mobile, Gezdir, Campus Hunt ve Campus Hunt Alumni mobil uygulamalarının Loktos veritabanına erişebilmesi için ihtiyaç duyduğu endpointleri sağlayan profesyonel bir Backend Web API projesidir.
Proje Bilgisi
- Kurum / bağlam: Eyesoft Bilişim
- Platform: Web
- Dönem: Eylül 2021 - Aralık 2022
Proje Türü
- Proje, ASP.NET Core Web API proje şablonu kullanılarak geliştirilmiş bir Backend Web API uygulamasıdır.
- Mobil uygulamaların içerik, kullanıcı, lokasyon ve üç boyutlu veri ihtiyaçlarını servisler üzerinden karşılar.
Mimari Yapı / Sistem Tasarımı
- Proje mimarisi uygulama ve veritabanı olmak üzere iki ana katmanla ifade edilebilir.
- Uygulama katmanı, mobil uygulamaların tükettiği backend API yapısını ifade eder.
- Veritabanı katmanı, AWS RDS üzerinde oluşturulmuş MySQL veritabanıdır.
- Uygulama katmanı kendi içerisinde modülleri olabildiğince bağımsız ve genişletilebilir tutacak şekilde katmanlandırılmıştır.
- Veri erişiminde Entity Framework Core, Dapper, stored procedure ve view yapıları birlikte kullanılmıştır.
- Uygulama güvenliği için JWT token tabanlı yapı kullanılmıştır.
- Üç boyutlu içerikler AWS S3 üzerinde saklanmış ve backend üzerinden stream edilmiştir.
- API, AWS EC2 sanal makinelerinde yayınlanmış; trafik yönetimi ve yük dağıtımı için AWS ALB kullanılmıştır.
Kullanılan Teknolojiler
- Backend geliştirme: C#, ASP.NET Core Web API 6
- Mimari ve veri erişimi: Dependency Injection with IoC, Autofac, Generic Repository Pattern, Entity Framework Core 6, Dapper
- Veritabanı: MySQL, AWS RDS, stored procedure, view
- Güvenlik ve dokümantasyon: JWT, Postman
- Cloud ve deployment: Docker, Docker Compose, AWS SDK, AWS EC2, AWS ACM, AWS ALB, AWS S3
- Versiyon kontrolü: Git, GitHub
Öne Çıkan Teknik Detaylar ve Modüller
- Backend katmanlı mimariye göre tasarlandı.
- Veritabanı yönetimi için MySQL Workbench kullanıldı.
- Çeşitli işlemler için stored procedure ve view yapıları oluşturuldu.
- Backend endpointleri için Postman Collection dokümanı hazırlandı.
- Backend’in ihtiyaç duyduğu veritabanı tasarımı yapıldı.
- Uygulama AWS EC2 sanal makinesinde yayınlandı.
- Uygulama güvenliği için JWT token kullanıldı.
- Üç boyutlu içeriklerin depolanması ve uygulama üzerinden stream edilmesi için AWS S3 entegrasyonu yapıldı.
- API yükünü dağıtmak için AWS ALB ile load balancer oluşturuldu.
- Veritabanı tarafında çoklu dil desteği eklendi.
Katılım Durumu ve Süre
- Proje Eyesoft Bilişim için geliştirilen bir web projesidir.
- Şirketin kurucu ortağından gelen ihtiyaçlar doğrultusunda projeyi kendim geliştirdim.
- Projede Eylül 2021 ile Aralık 2022 tarihleri arasında, şirkette çalıştığım süre boyunca yer aldım.
- Proje halen kullanılmaktadır.
Proje Yönetimi / Takım Yapısı
- Proje yönetimi için Jira benzeri ayrı bir araç kullanılmadı.
- Versiyon kontrolü için şirket sunucusuna GitLab CE kurdum ve proje reposunu buraya taşıdım.
- Haberleşme için Slack kurulumunu yaptım ve projenin GitLab reposu ile entegre ettim.
- Projede görüş aldığım ana paydaş, şirketin kurucu ortağıydı.
Kişisel Katkılar ve Sorumluluklar
- Çalıştığım süre boyunca projenin tüm teknik sorumluluğu bana aitti.
- Backend geliştirme, veritabanı tasarımı, endpoint tasarımı, AWS üzerinde yayınlama, S3 entegrasyonu, güvenlik, dokümantasyon ve geliştirme altyapısı süreçleriyle kendim ilgilendim.
Yayın / Deployment Bilgisi
- Projeyi AWS EC2 sanal makinelerinde yayına aldım.
- Gizlilik nedeniyle herkese açık bir adres paylaşılmamaktadır.
- Proje ilgili cloud altyapısı üzerinde halen yayında bulunmaktadır.