An open API service indexing awesome lists of open source software.

https://github.com/dvurechensky-test-tasks/testtaskcifcore

Unity приложение для загрузки и отображения данных по API (Zenject + Addressables + MVC + UniTask)
https://github.com/dvurechensky-test-tasks/testtaskcifcore

addressable addressable-assets addressable-leds addressables addressables-pipeline dvurechensky unitask unity unity-editor unity-scripts unity2d unity2d-game zenject zenject6

Last synced: about 2 months ago
JSON representation

Unity приложение для загрузки и отображения данных по API (Zenject + Addressables + MVC + UniTask)

Awesome Lists containing this project

README

          

✨Dvurechensky✨

Test Assignment for 🌟 CIFCORE 🌟 Company



Static Badge



🌐 Language:


🇷🇺 Russian

|

✅ 🇺🇸 English (current)

---

# ✨ Table of Contents

- [✨ Table of Contents](#-table-of-contents)
- [📕 ATTENTION 📕](#-attention-)
- [Technologies 👤](#technologies-)
- [Notes 📗](#notes-)
- [Information from the Company 🌁](#information-from-the-company-)
- [Information from Me 🌊](#information-from-me-)
- [👀 Build 👀](#-build-)

## 📕 ATTENTION 📕

- The task did not specify what kind of BUILD was required or for which platforms the builds should be created, so I decided not to build SDKs or include them in the repository

## Technologies 👤

- 📋 UniTask
- 📋 Addressables
- 📋 Zenject
- ✂️ UniRx — was not able to integrate it in the end

### Notes 📗

- There is a **separate ObjectPool** designed to centrally provide objects to tables. Using Addressables for object caching also fits naturally into this logic.
- I use controllers to manage state and interaction logic between components, which aligns well with the `MVC` pattern.
- `MVP` is also applicable in my context: controllers (as models) interact with views, updating them based on data. Separation of concerns between logic and UI is maintained.
- **`Zenject (Factory/Pool)`** — actively used for dependency injection. DI allows separating object creation logic from usage, which is ideal for patterns like Factory.

- 📘 Additionally, I implemented caching for weather icons after their first load from the server

## Information from the Company 🌁

[Task description]()

## Information from Me 🌊

💨 I tried to describe my understanding of the task in this image ❕

![alt text](Media/plan.png)

💨 Video



## 👀 Build 👀

- After deleting the `Library` folder before release, the selected build platform resets

![alt text](Media/build_1.png)
![alt text](Media/build_2.png)

✨Dvurechensky✨