Habits and Goal Tracker application using the SwiftUI Framework

Overview

Goal & Habit Tracker | Hacktoberfest SwiftUI 🚀

platform GitHub license

The aim of this app is so that users can track their habits and goals. This project is open source and allows all skill levels to contribute to Hacktoberfest - it also means you can earn some Swag (from stickers to t-shirts). The project is built using Swift and uses SwiftUI.

Consider leaving a  if you like the repository.

Who Can Contribute? 👩🏽‍💻

  • Anyone of all skill levels can contribute to this repo
  • Please ensure that you have signed up at Hacktoberfest
  • Please check all issues that are labelled as Hacktoberfest
  • Some issues are labelled as good-first-issue these are great for beginners to get involved

Getting Started 🙌

  • Fork the project

  • Open your forked project in GitHub and click on the green <>Code button.

  • Copy the HTTPS or SSH link and open your Terminal / Git Bash.

    git clone <the link>
    
  • Run project (to ensure everything works)

  • Checkout a new branch to work on an issue:

    git checkout -b name-of-issue-ticketNumber
    
  • Once you've finished coding / working on an Issue, you can open a new PR

    git add . 
    git commit -m “Description of what was sorted”
    git push origin name-of-issue-ticketNumber
    
  • Open the project on GitHub and raise to master branch on the repo

Supporting Files

Contributing 🤖

To start contributing, check out CONTRIBUTING.md. Everyone is welcome to contribute to this project, if you’re new to programming you might want to check out issues labelled as UI-Improvements and good-first-issue. Before you assist with the development, please set up the project on your local machine, run it, and go through the application.

Please read the Architecture.md to understand the flow and the strucuring of the app.

Project Maintainers 😎

License

This project is licensed under Apache License 2.0.

Comments
  • Project is not building - Command PhaseScriptExecution failed with a nonzero exit code

    Project is not building - Command PhaseScriptExecution failed with a nonzero exit code

    Bug Description After forking the project and cloning, I am creating a branch. And then it's not building and throwing an error : "Command PhaseScriptExecution failed with a nonzero exit code". The same error is throwing after just cloning the main project without forking it.

    Things I have tried

    • I did cleaned build
    • I did restart the mac
    • I re-forked and re-cloned, but still

    Mac :- Big Sur 11.4 - Non-M1 Xcode :- 13

    I don't think it's only happening on my device??

    bug 
    opened by myawesomehub 3
  • Create a Progress Stepper VIew

    Create a Progress Stepper VIew

    Requirement

    Create a Progress Stepper View, that progress as the user goes through the input Views.

    progres

    You need to create a UI that starts from the initial state, and you have to increase the step based on user Input.

    Proposed Solution

    • Create an Observable Object that contains the number of steps and the current step.
    • Create Views and pass the Observable Object to it.
    • The Stepper view should take the number of steps from the Observable object class and populate the steps.

    Bonus Points

    • Add animations to the color and style change of the steps as it progress.
    • You can create simple next and previous buttons that increases the current step.
    good first issue hacktoberfest UI-related 
    opened by Shubham0812 2
  • Create a Contributors.md file

    Create a Contributors.md file

    Requirements

    Add a new markdown (.md) file to the documentation folder that lists all contributors within the project. Consider the optimum style, ideally, the page should contain:

    • Information about the project
    • List the user's name (linking to their Github - use placeholders for now)
    • Contain information about how users can get involved in the project

    Anexisting template exists for this, though a table might be better suited.

    | Contributor | Position | Social links | |-------------|----------|-------------------| | Name one | ✨ | Twitter Instagram | | Name two | 📖 | Twitter | | Name three | 💻 | Twitter Instagram |

    Solution

    1. Create file
    2. Create sections
    3. Populate sections
    documentation good first issue hacktoberfest 
    opened by clarkeben 2
  • Create Haptic feedback class

    Create Haptic feedback class

    Is your feature request related to a problem? Please describe. Haptics engages people’s sense of touch to enhance the experience of interacting with onscreen interfaces. This provides feedback when a user taps on a button or an action has been successfully completed.

    Describe the solution you'd like Create a class to handle haptic feedback, a singleton object can be used. This will be later used across the app.

    A few cases worth handling:

    • Heavy
    • Light
    • Medium
    • Rigid
    • Error
    • Success
    • Warning

    Please test this, a follow-up issue will be to add feedback to various buttons and actions - though this has not been scoped.

    Additional context

    enhancement help wanted good first issue hacktoberfest 
    opened by clarkeben 2
  • Create onboarding UI

    Create onboarding UI

    This issue is blocked by #8 #3. There is an outstanding issue #9 for the onboarding button - though a placeholder button can be used

    Requirements

    The UI will need to be created for the onboarding views. This will involve using the Figma design files to layout the images, text, and buttons.

    image

    The UI consists of three views:

    • Welcome onboarding view - this consists of information regarding the app
    • Configure notification onboarding View - allows user to set up notifications
    • Goal setting onboarding View - lets a user create a new goal

    The functionality of the onboarding such as notifications and creating new goals/habits will be added once the UI has been completed.

    Solution

    • Welcome onboarding view - image, text & button
    • Configure notification onboarding View - image, text & buttons
    • Goal setting onboarding View - image, grid, buttons & text

    Consider using adaptive columns - https://www.hackingwithswift.com/quick-start/swiftui/how-to-position-views-in-a-grid-using-lazyvgrid-and-lazyhgrid

    hacktoberfest blocked-by 
    opened by clarkeben 1
  • Create Custom Image View

    Create Custom Image View

    Requirement

    We need an Image View struct that takes in an image, is scalable based on the frame provided by the Parent View. Display a circular image with a border around the image.

    Proposed solution

    Create a generic Image View Struct under Code > Support Views.

    Add variables that takes in an imageName, lineWidth and borderColor.

    The View that you should create should look something similar to this-

    Screenshot 2021-10-14 at 2 28 23 PM

    Once you're done raise a PR. Good luck :)

    good first issue hacktoberfest UI-related 
    opened by Shubham0812 1
  • Created Onboarding Screen

    Created Onboarding Screen

    I have created the onboarding screen as mentioned in #10 However, I am looking for a better way to write those tags group on 3rd onboarding screen. Third screen is not looking arranged because of not having a proper tags arrangement.

    Things I did in this pull request:

    • Created a view in file -> view -> onboarding
    • Created an enum to manage the onboarding screens

    ezgif com-gif-maker

    opened by myawesomehub 0
  • [ADD] onboarding button modifier

    [ADD] onboarding button modifier

    [RL] [ADD] onboarding button modifier possibility to change max level of onboarding steps if user will tap on button, the current status will be updated and updates the trim level of black border. [\RL]

    opened by alexanderpuchta 0
  • Create onboarding button

    Create onboarding button

    Requirement

    The onboarding UI contains a button. The button is square and has an outer ring to inform users of how far they are within the onboarding flow. This button will need to be created as a reusable view so that it can be used across all three onboarding views.

    image

    Please refer to the Figma file for additional details.

    Proposed Solution

    SwiftUI does not contain a built-in square. Nonetheless, a rounded rectangle could be used instead and the frame height and width could be modified.

    • Create shape using a ZStack
    • Create three rectangles - middle, and two outer
    • The Second rectangle should be gray
    • The third rectangle should be black
    • Create two variables of type CGFloat for the position from and to - these will be used to update the black outer ring
    • Add system image for the Chevron - which can be found in SFSymbols titled chevron.right
    help wanted good first issue hacktoberfest UI-related 
    opened by clarkeben 0
  • Project setup - Contributing.md & project tags added

    Project setup - Contributing.md & project tags added

    Created the Contributing.md and populated the general guidelines. These guidelines include: branch policy, pull requests, and issue resolution.

    Tags were also added to the project to enhance project findability.

    opened by clarkeben 0
  • Onboarding View

    Onboarding View

    Created onboarding views, which only visible on first launch. Can add n views in onboarding, user can skip as well. Each onboarding screen can show a image, heading and description. Simulator Screen Shot - iPhone 13 Pro Max - 2021-10-16 at 16 43 44

    opened by NotAnmol 0
  • Added Basic UI & CoreData

    Added Basic UI & CoreData

    Habit tracking needs to persist the data for tracking the habits, so I added the CoreData (Created a Habit Model, which is right now incomplete). As app didn't had any plan for UI Structure, I created 2 tabs i.e., Habits & Analytics. Habits: This tab will be used for tracking, adding new, editing & deleting existing Habits. Simulator Screen Shot - iPhone 13 Pro Max - 2021-10-16 at 14 48 45

    Analytics: This tab will show analytics like longest streaks, shortest streak, will try to motivate users by gamifying it. Simulator Screen Shot - iPhone 13 Pro Max - 2021-10-16 at 14 48 47

    Using SF Symbols for icons.

    opened by NotAnmol 0
  • Update contributing.md

    Update contributing.md

    Requirements

    The current contributing.md file is only half completed.

    The Code Structuring section needs to be populated.

    Solution

    Download the project and review the file structure. Afterward, populate the following sections within Coding Structuring using best practices:

    1. Constants & Extensions
    2. Comments (functional & explanatory)

    You can leave out the code styling section - as I will tackle this at a later stage. Please use code examples where necessary.

    documentation help wanted hacktoberfest 
    opened by clarkeben 0
Owner
Shubham Kr. Singh
iOS developer by profession. Loves iOS development, traveling, and solving problems. Also a UI / UX enthusiast.
Shubham Kr. Singh
an open source, pure and minimalistic app which helps you maintain productive habits, and nothing more.

KHabit an open source, pure and minimalistic app which helps you maintain productive habits, and nothing more. The app is completely open source, it d

Stefano Bertoli 17 May 5, 2021
Aplikasi CrypTraces adalah MacOS Widget Crypto Tracker dengan SwiftUI, Combine & Cocoa Framework, dan WebSocket & CoinCap API

Aplikasi CrypTraces adalah MacOS Widget Crypto Tracker dengan SwiftUI, Combine & Cocoa Framework, dan WebSocket & CoinCap API. Aplikasi ini berbentuk Widget di Menu Bar MacOS dengan menampilkan beberapa Crypto Currency seperti Bitcoin (BTC), Ethereum (ETH), Dogecoin (DOGE), Monero (XMR), dan Litecoin (LTC).

DK 6 Aug 1, 2022
Corona Virus Tracker & Advices iOS App with SwiftUI

Corona Virus Stats & Advices App with SwiftUI Features Current statistics of global total confirmed, deaths, recovered cases. Statistics of countries

Alfian Losari 358 Dec 27, 2022
Building Expense Tracker iOS App with Core Data & SwiftUI Completed Project

Completed Project for Building Expense Tracker iOS App with Core Data & SwiftUI Follow the tutorial at alfianlosari.com Features Create, edit, and del

Alfian Losari 226 Dec 22, 2022
Budget - Income, Expense & Transfer Tracker + Budgeting app for iOS made with SwiftUI.

Budget Income, Expense & Transfer Tracker + Budgeting app for iOS made with SwiftUI. Roadmap This is a work in progress. I'm working on the following

Samuel Beaulieu 2 Dec 5, 2022
An alternative gym workouts tracker written in SwiftUI.

Gymspot Gymspot is an alternative workout tracker written in SwiftUI. I decided to start working on it because: I need an easy-to-use tracker for my w

Alessio Moiso 3 Nov 22, 2022
A link tracker remover for iOS and iPadOS

Uni Uni is an application that removes tracking parameters from links shared on the web and swaps proprietary services with free and open source alter

Abhik Ahuja 1 Oct 24, 2021
A lightweight and efficient bus tracker app for the Miami-Dade Transit System

A lightweight bus tracker app for the Miami-Dade Transit System Built in Swift, this app features a favorites page, real-time bus location and ETA, us

Jacob Schuster 1 Dec 10, 2021
Corona virus tracker app for IOS and Android

Corona virus tracker app for IOS and Android

Nguyen Phuc Loi 13 Dec 10, 2022
iOS expense tracker

Hacktoberfest 2021 with IEEE-VIT ?? This is a expense tracker iOS application built using swift. Users can track their expense and visualise it. Suppo

IEEE VIT Student Chapter 14 Oct 14, 2022
Workout Tracker With Swift

WorkoutTracker Working out. For some it's a passion, for others it is a requirement to maintain health. However, exercising and tracking your progress

Andy Babay 0 Oct 15, 2021
Water Tracker iOS App

WaterTracker Water Tracker iOS App Now you can easily track how many ml water you drinked. This is my first time used SQLLite3 library app. The app ca

null 1 Dec 5, 2021
A simple workout tracker app for iOS

IronLog After having spent a bunch of time in the Xamarin.Forms and Xamarin Native world, I wanted to get my feet wet in native iOS development using

Brian Stauff 0 Oct 19, 2022
An iOS expense tracker app written in Swift

An iOS expense tracker app written in Swift

Alex Ling 35 Aug 14, 2022
Basic Todo list application built using the new SwiftUI framework and Core Data

Dub Dub Do - A sample TODO List Application in SwiftUI Updated for Xcode 11.5 This is a basic app that lets you create a list of todos, mark them as i

Stephen McMillan 67 Sep 28, 2022
A simple SwiftUI Application to demonstrate creation of UI using SwiftUI.

WatchShop_UI A simple SwiftUI Application to demonstrate creation of UI using SwiftUI. How to run the project ? Fork the project. Run the project usin

Shubham Kr. Singh 12 Apr 15, 2022
macOS application written in SwiftUI that downloads installer pkgs for the Install macOS Big Sur application.

Download Full Installer This is a Swift UI implementation of my fetch-installer-pkg script. It will list the full macOS Big Sur (and later) installer

Armin Briegel 654 Dec 31, 2022
small iOS & ipadOS application written in SwiftUI and Combine, that fetches twitter users and tweets using Twitter's api

HomeTwitter Small iOS & ipadOS application written in SwiftUI and Combine, that fetches twitter users and tweets using Twitter's api. This is just a s

Sorin Miroiu 1 May 13, 2022
A SwiftUI Application using MVVM, Core Data and Combine

SwiftUI | Breaking Bad App Application that shows the characters of Breaking Bad.

Salvador Valverde 15 Oct 6, 2022