Diploma work at university, the mobile android app is designed to facilitate the accounting and control of resources, as well as the exchange of information between military personnel of different ranks.
In Ukrainian: Дипломна робота для університету, мобільний android додаток призначений для полегшення ведення обліку та контролю ресурсів, а також обміну інформацією між військовослужбовцями різних рангів.
- 📱
Overview
- ✨
Demonstration
- 👇
Download
- 🛠️
Project Setup
- 🛠️
Architecture
- 🛠️
Tech stack & Open-source libraries
- 🤝
Join the team
- ✍️
Author
- ⭐️
Stats
This mobile military accounting system was developed for the Android platform and has the potential to be used not only by the Armed Forces of Ukraine, but also by other military and law enforcement agencies. It allows military personnel of all ranks to conveniently and efficiently manage supplies such as ammunition, materials and provisions. The software provides different levels of access depending on the position, providing only the necessary information for each user. Security measures ensure data confidentiality and security.
This development was created to support the military in the performance of their duties and facilitate their mission at the front. It combines the latest technology with mobile accessibility, making it indispensable in a combat environment. This mobile application was developed with the belief in victory and support of our military.
Ця мобільна система військового обліку розроблена для платформи Android та має потенціал для використання не тільки Збройними Силами України, але й іншими військовими та правоохоронними структурами. Вона дозволяє військовослужбовцям будь-якого рангу зручно та ефективно керувати запасами, такими як боєприпаси, матеріали та провізія. Програма надає різні рівні доступу в залежності від посади, забезпечуючи лише необхідну інформацію для кожного користувача. Захисні заходи забезпечують конфіденційність та безпеку даних.
Ця розробка створена з метою підтримки військових у виконанні їхніх обов'язків та сприяння їхній місії на фронті. Вона поєднує в собі новітні технології та мобільну доступність, роблячи її незамінною в умовах бойових дій. Цей мобільний додаток розроблений з вірою у перемогу та підтримку наших військових.
Download and test latest version
You need to have Android Studio to set up this project locally. After downloading all the requirements, please import the project into Android Studio, build the project, and click Run.
Build or run the project with terminal using
./gradlew assembleDebug
or ./gradlew assembleRelease
command.
graph TD;
domain-->usecase;
domain-->entity;
entity-->user;
user-->:User;
user-->:UserPermission;
entity-->reminder;
reminder-->:Reminder;
reminder-->:RegularReminder;
entity-->data;
data-->Action;
data-->ActionType;
data-->Barcode;
data-->Category;
data-->Data;
usecase-->:GetHistoryUseCase;
usecase-->:CurrentUserUseCase;
usecase-->:EditUserInfoUseCase;
usecase-->:LoginUseCase;
usecase-->:LogoutUseCase;
usecase-->:RegisterUseCase;
usecase-->:ResetPasswordUseCase;
usecase-->:SignInFacebookUseCase;
usecase-->:SignInGoogleUseCase;
data-->repository;
repository-->:AuthRepository;
repository-->:BarcodeRepository;
repository-->:CategoryRepository;
repository-->:DataRepository;
repository-->:HistoryRepository;
repository-->:ItemRepository;
repository-->:PermissionRepository;
repository-->:UserRepository;
data-->storage;
storage-->AuthStorage;
storage-->AvatarStorage;
storage-->SharedPrefsStorage;
storage-->Storage;
presenter-->ui;
di-->CoroutineModule;
di-->DataModule;
di-->DomainModule;
- Minimum SDK level 21
- Firebase - app development platform
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Coroutines Flow - For streams and alternative Live Data..
- Hilt - Dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project
- Android Architecture Components - Collection of
libraries that help you design robust, testable, and maintainable apps.
- Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewDataBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- Glide - An image loading library for Android backed by Kotlin Coroutines.
- Timber: A logger with a small, extensible API.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Open an issue first to discuss what you would like to change. Report issues in the issue tracker
- Fork the Project
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a pull request
💬 Discuss?
Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.
👤 GitaristErik
- Linked-In: GitaristErik
- Email: GitaristErik@gmail.com
Warning
Please be aware of the following crucial points regarding the GNU General Public License, Version 3 (GPL-3.0):
- This software is distributed under the terms of the GNU General Public License, Version 3.
- Any modifications or derivative works you create must also be licensed under the GPL-3.0.
- The software is provided "as is," without any warranties or guarantees.
By using this software, you agree to abide by the terms of the GPL-3.0.
For more details, please refer to the LICENSE file.