( Interview Assignment - Hive.ai by Chatous Technologies Pvt. Ltd. )
Tech Inventory (Hive.ai) is a lightweight iOS assignment app for Hive.ai by Chatous Technologies Pvt. Ltd.. It demonstrates a paginated photo grid using UIKit, backed by a simple networking layer with URLSession.
The app fetches images from the public Lorem Picsum API and displays them in a UICollectionView. Tapping an item opens the image’s source URL in an in-app Safari view (SFSafariViewController).
- Grid UI: 3-column photo grid with responsive cell sizing
- Pagination: Infinite scrolling (loads next page near the bottom)
- Details: Tap an item to open its source URL in-app
- Loading State: Activity indicator while fetching pages
- iOS 18.5+ (deployment target in
Hive.xcodeproj— change in Xcode if needed) - Xcode 16.4+ (project created with Tools Version 16.4)
- Swift 5.0
TechInventory-Hive.ai-Work
.
├── Hive # Main iOS app target
│ ├── ViewController.swift
│ ├── ImageService.swift
│ ├── ImageModel.swift
│ ├── ImageCell.swift
│ ├── HeaderView.swift
│ ├── Assets.xcassets
│ └── Base.lproj # Storyboards (Main, LaunchScreen)
├── HiveTests # Unit tests
├── HiveUITests # UI tests
├── Hive.xcodeproj
└── LICENSE
-
Clone the repository:
git clone https://github.com/deepanshubajaj/TechInventory-Hive.ai-Work.git
-
Open in Xcode:
open Hive.xcodeproj
-
Build and run on a simulator or device (Scheme:
Hive).
From Xcode: Product → Test
From the command line:
xcodebuild test -project Hive.xcodeproj -scheme Hive -destination 'platform=iOS Simulator,name=iPhone 16'If the destination name doesn’t exist on your machine, list available simulators and pick one:
xcrun simctl list devices- Image list:
https://picsum.photos/v2/list?page={page}&limit=10 - No API key required
- Lorem Picsum website: https://picsum.photos/
*App snapshot in the simulator.*
*Splash screen displayed upon app launch.*
*Screenshots of the Tech Inventory App showing different screens*
*The App Icon reflects the Tech Inventory Look*
Here’s a short video showcasing the app's functionality:
Thank you for your interest in contributing to this project!
I welcome contributions from the community.
- You are free to use, modify, and redistribute this code under the terms of the Apache-2.0 License.
- If you'd like to contribute, please open an issue or submit a pull request.
- All contributions will be reviewed and approved by the author — Deepanshu Bajaj.
To contribute:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Commit your changes:
git commit -m 'Add your feature' -
Push to the branch:
git push origin feature/your-feature-name
-
Open a pull request.
This project is licensed under the Apache-2.0 License.
You are free to use this project for personal, educational, or commercial purposes — just make sure to provide proper attribution.
Clarification: Commercial use includes, but is not limited to, use in products,
services, or activities intended to generate revenue, directly or indirectly.
You can reach out to me here.







