Skip to content

ldevdantesl/AimIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AimIt — Goal Management for iOS

A full-featured goal tracking app built with SwiftUI, Core Data, and Clean Architecture. Published on the App Store. Designed, architected, and developed solo.

Download on the App Store

Screenshots

What It Does

AimIt helps users break down long-term goals into milestones, organize work into dedicated workspaces, and track progress through interactive charts. It includes onboarding, push notifications for reminders, photo attachments, and custom illustrations throughout the UI.

Tech Stack

Layer Details
UI SwiftUI + selective UIKit for advanced customizations
Architecture Clean Architecture, MVVM, SOLID
Persistence Core Data
Concurrency async/await, withCheckedContinuation, Actors
DI Custom DI container using Factory pattern with Actor-based thread safety
Testing XCTest unit tests
Notifications UNUserNotifications

Architecture

Presentation        Domain             Data
┌──────────┐    ┌──────────────┐    ┌──────────────┐
│  SwiftUI │───▶│  Use Cases   │───▶│ Repositories │
│  Views   │    │  (Business   │    │ (Core Data)  │
│          │    │   Logic)     │    │              │
│ ViewModels│◀──│              │◀───│              │
└──────────┘    └──────────────┘    └──────────────┘

The app follows a strict dependency rule — outer layers depend on inner layers, never the reverse. ViewModels talk to Use Cases, Use Cases talk to Repository protocols, and the Data layer provides concrete implementations backed by Core Data.

Highlights

End-to-end ownership — sole developer from concept to App Store release, including architecture decisions, UI/UX design, data modeling, and deployment.

Clean separation of concerns — Repositories handle data access, Use Cases encapsulate business logic, ViewModels manage UI state. Each layer is independently testable.

Modern Swift concurrency — async/await throughout the networking and data layers, with withCheckedContinuation to bridge callback-based APIs and Actor isolation for thread-safe shared state.

Custom DI system — dependency injection container built on the Factory pattern, avoiding third-party DI frameworks while maintaining full testability.

Polished UI details — custom animations, hand-crafted illustrations, reusable component library, and onboarding flow. Follows Apple's Human Interface Guidelines.

Getting Started

git clone https://github.com/ldevdantesl/AimIt.git
cd AimIt
open AimIt.xcodeproj
# Cmd + R to build and run

Requires Xcode 14.0+ and targets iOS 15.0+.

License

This project is shared for portfolio and educational purposes only. All rights reserved.

You may view and fork this repository for reference, but you may not copy, modify, distribute, or use any part of this code in your own projects — personal or commercial — without explicit written permission from the author.

Contact

Buzurgmehr Rahimzoda — ldevdantesl@gmail.com · GitHub