Skip to content

ldevdantesl/AimIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Goal Management App

Overview

This app is designed to help users manage their goals effectively by creating milestones, organizing tasks into workspaces, and tracking progress with a beautifully crafted user interface. It employs robust architecture and advanced Swift development practices to deliver an exceptional experience.

Key Features

  • Goal and Milestone Management: Create, edit, and track goals with associated milestones.
  • Workspaces: Organize tasks and goals into dedicated workspaces.
  • Custom Animations: Smooth, visually appealing animations enhance the user experience.
  • Charts: Interactive visualizations to track progress.
  • Notifications: Integration with UNUserNotifications for reminders and alerts.
  • Photo Library Usage: Add images to tasks or goals for better visualization.
  • Custom Illustrations: Unique illustrations and button designs for a modern look.
  • Introductory Views: Onboarding screens to guide new users.
  • Error Handling: Comprehensive error management using async/await, throws, and completion handlers.

Technical Highlights

  • Architecture: Clean Architecture + SOLID Principles + MVVM
    • Repositories: Handle data access and management.
    • Use Cases: Encapsulate business logic.
    • View Models: Manage the state and provide data for SwiftUI views.
    • Managers: Handle specific tasks (e.g., network, data, or notifications).
  • SwiftUI with UIKit: Main UI built with SwiftUI, with selective use of UIKit for advanced customizations.
  • Core Data: Persistent storage for goals, milestones, and user data.
  • Dependency Injection (DI): Applied via DI containers using the factory paradigm and Actor for thread-safe operations.
  • Custom Reusable Components: Modular and reusable UI elements for consistency and maintainability.
  • Concurrency: Extensive use of async/await, withCheckedContinuation, and multithreading for optimal performance.

Development Practices

  • Error Handling: User-friendly error messages using custom LocalizedError conformances.
  • Testing: Includes unit tests with XCTest to ensure reliability.
  • Analytics: Integrated analytics for user activity and app usage.
  • Design: Focus on modern and clean design principles, adhering to Apple’s HIG guidelines.

How to Build

  1. Clone the repository:
    git clone https://github.com/ldevdantesl/AimIt.git
  2. Open the project in Xcode:
    cd AimIt
    open AimIt.xcodeproj
  3. Install dependencies (if applicable, e.g., CocoaPods or Swift Package Manager).
    pod install
  4. Run the app:
    • Select the appropriate simulator/device.
    • Press Cmd + R or click Run in Xcode.

Requirements

  • Xcode: Version 14.0+
  • iOS: Version 15.0+

Screenshots

Description Description Description Description Description Description Description Description Description Description

Contributing

Contributions are welcome! Feel free to fork the repo and submit a pull request. Please ensure all changes adhere to the app's architecture and coding standards.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Contact

For any inquiries or feedback, please contact: