Skip to content

gorgilazarev3/Transport-Ease

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TransportEase - транспортна апликација за наоѓање на превоз до одредена дестинација

Краток опис на апликацијата

TransportEase претставува апликација за наоѓање на превоз, односно транспорт и е слична на Uber и Lyft која овозможува барање на превоз до одредена дестинација со избор од повеќе типови на превозници.

Две апликации:

  • Корисничка апликација – за оние на кои што им е потребен превоз
  • Апликација за превозници – за оние кои што нудат превоз, пр. индивидуални лица и такси компании

Двете апликации имаат заеднички Laravel backend кој што се користи како веб сервис. Дополнителен веб сервис кој што го користат апликациите е Google Maps Platform API. Се користат и локациски сервиси и сензор, акцелерометар за приказ на моменталната брзина на превозникот.

Структура на репозиториумот

Репозиториумот е структуриран во три дела:

  • src_frontend - тука се наоѓаат Flutter и Dart апликациите, односно frontend-от за двете посебни апликации
  • src_backend - тука се наоѓа Laravel backend апликацијата која што претставува REST сервис
  • docs - тука се наоѓа документацијата за проектот

GitHub репозиториуми

Покрај во овој репозиториум, апликацииите се достапни и на посебни GitHub репозиториуми

Design Patterns

Апликациите применуваат неколку шаблони за развој на софтвер, од кои некои се специфични за Flutter и тоа:

  • Provider Pattern - за чување и споделување на заеднички податоци низ целата апликација така што имаме Provider за класа со потребните податоци кои што треба да се споделуваат и Consumers на кои што Provider-от им ги споделува овие податоци
  • Singleton - за креирање на само една инстанца од AppData класата за податоците кои се споделуваат низ целата апликација, како и објектот за конекција со базата на податоци во backend-от и Firebase инстанцата за автентикација во моменталната верзија од проектот и ConfigMap-от
  • Factory - factory методи за креирање на објекти, односно инстанци од моделите: Address, AppUser, DirectionDetails, PlacePrediction, Driver, TripHistory преку користење на JSON податоци и Data Snapshots
  • Малку модифицирана MVVM (Model-View-ViewModel) архитектура - каде што апликацијата е структурирана на начин на кој што се одвојува програмската логика од корисничкиот интерфејс - Models во апликацијата си претставуваат модели и се наоѓаат во lib/Models, Views во апликацијата се наречени Screens и се наоѓаат во lib/Screens, а пак ViewModels се посебните модели како што се RegistrationPageModel, LoginPageModel, SearchDestinationModel кои што служат за примање на корисничката интеракција и ажурирање на погледите и исто така се наоѓаат во lib/Models

Различните UI елементи како што се дијалогот за пребарување на дестинација, приказот на информациите за превозникот, приказот на историјата на патувања за превозник, приказ на барањата за превоз и сите останати се поделени во посебни реискористливи компоненти, а со тоа на некој начин се применува и Component-based архитектура.

Карактеристики

Некои од карактеристиките кои ги поседува оваа платформа се:

  • Барање на превоз
  • Прифаќање на барање за превоз
  • Приказ на статус на патување
  • Рецензии за превозници
  • Контакт со превозник
  • Недостапност на превозници
  • Регистрација како превозник
  • Промена на статус на достапност на превозник
  • Приказ на потребни детали кај превозник
  • Ажурирање на рутата на мапата кај превозникот
  • Пристигање на дестинација
  • Различни погледи за превозници

Детален опис на секоја од карактеристиките е достапна во прикачената документација во docs делот.

Изработил

Горги Лазарев
201042

About

Application for finding transport to destinations (ride-sharing application)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published