GithubHelp home page GithubHelp logo

dimillian / achnbrowserui Goto Github PK

View Code? Open in Web Editor NEW
1.7K 31.0 182.0 22.82 MB

Animal Crossing New Horizon companion app in SwiftUI

Home Page: https://apps.apple.com/us/app/ac-helper/id1508764244?ls=1

License: Apache License 2.0

Swift 96.81% JavaScript 3.19%
swiftui swiftui-application ios swift ios-app turnip animal-crossing turnip-price animal-crossing-new-horizons

achnbrowserui's Introduction

Swift 5.3 Xcode build @ACHelperApp @dimillian

You can now download the app on the App Store!

The best Animal Crossing New Horizons companion app!

最高の「あつまれ どうぶつの森」コンパニオンアプリ

Animal Crossing New Horizon SwiftUI application!

Image

Important notes:

The project main branch is now updated to Xcode 12 beta 1.

There is a lot of SwiftUI issues that will be worked on as new betas arrive. For now it compile and will use the best & latest features of Swift 5.3 and SwiftUI.

If you want to compile using the stable version of Xcode (11), you can checkout the legacy branch. This is the branch used to ship the app on the App Store until iOS 14 is released.

Features

This is a full featured Animal Crossing helper application written entirely in SwiftUI.

  • Configureable dashboard to track your fishes, bugs, collection progress, active events, daily tasks, todos and much more.
  • See the active critters this month and catch em all!
  • Music player for K.K. Slider's songs - plays when app is in background!
  • Turnips price tracking and predictions with daily push notifications.
  • Turnip.exchange integration.
  • Nookazon integration.
  • Full catalog browser with filter, sorting and search.
  • Villagers list.
  • Bookmark anything in the app to add it to your collection.
  • Spotlight support for fishes, bugs, fossils and art
  • iCloud sync for collection progress, lists, tasks and todos.
  • Localized to English, French, German; Japanese and Chinese (TW) in progress - see #68 to help us extend localization to missing languages
  • iOS, iPad and macOS (Catalyst support)!

You can use this application to learn about SwiftUI and Combine. It uses a very standard view, and view model architecture with full use of @State, @Binding, @Published, Observed and Observable object.

Localizations Credits

Credits

This is just a very simple SwiftUI application, all the database hard work has been done on the master sheet by the community.

And u/Azarro made an awesome JSON API from that google sheet. (private for now).

As the API is private the app use a local dump of the API at the moment.

Thanks to Turnip.exchange for the turnips exchange API.

Thanks to ACNH API for the API that allow us to display villagers and their icons/images.

Thanks to Nookazon for item listings and trading platform.

Thanks to Shihab for the app icons.

Thanks to imthe666st for the repository with localized data.

achnbrowserui's People

Contributors

bonney avatar bre7 avatar czajnikowski avatar dean151 avatar dimillian avatar emcro avatar ericlewis avatar fhl43211 avatar itmichaelpage avatar klin0816 avatar mariafeodora avatar michaeljberk avatar mimikun avatar mrogeid avatar nryrk avatar otaviocc avatar pointum avatar pyroh avatar ralts00 avatar readmecritic avatar renaudjenny avatar revolter avatar ricardohochman avatar richkolasa avatar ruiaaperes avatar shibotong avatar thevaan avatar unimpossible avatar vknabel avatar xdreams0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

achnbrowserui's Issues

Events

Surface info about events coming up / on the day.

Build Error

Env

macOS: 10.15.3 (19D76)
XCode Version 11.2.1 (11B500)

image

Load Turnip.Exchange listings conditionally.

I'd personally prefer if the app are only loads listings if the user wants to see it (by tapping on a button) or if you maybe just load the first 5? What does everyone else think?

Master search

Have the categories root have a search that display 3-5 results per categories in a sectioned List.
We'll do that once we have CD plugged in.

Crashes when tapping on Villagers tab

Not sure what more info to provide, or if this is even how you prefer this feedback, but I'm on an iPhone 11 Pro. Install app -> tap each tab until I get to Villagers -> crash.

Reorganize Settings screen

I plan on doing on work on the Settings view; try to clean up the island details (maybe pull that in to it's own view); leave the door open for any future preferences we need to integrate

Custom lists of items

The goal of the feature is to help people categorize their items in order to plan their house.

I see two ways of doing that.
One a bit funky:

  • You see a sort of a AC house plan (a cut from top) with all the house rooms. And you can tap on them to add items and label them. You can also add items from item detail to labeled rooms.

The other one more classic

  • We have a Lists tab in the My Stuff tab and the user can create a new list with an icon and a title. And then we can search and add items from there or from item detail add to list.

The first one is a bit more work but would be worth.

Turnips

This issue will be a master list of ideas for turnips. No particular order or priorities.

  • Turnip Calculator
  • Turnip Charts
  • Push notices
  • Turnip Exchange

Star/save variants/color for items

Since I love collecting furniture, I also like collecting variety of colors. It'd be cool to 'star' even more specific on the colors obtained.

From a fellow Reddit user

Turnip profit calculation

Turnip profit calculation is based on average daily price, but to be a "profit" it has to be the difference between sell price and investment, so you need to subtract the initial investment. Otherwise profit is always "green".

Example:
Bought 3700 turnips for 100 bells -> total investment = 370.000 bells
Average price on Monday AM is 89 Bells -> total earning when selling is 325.500 bells
-> earning - invest = profit => 325.500 - 370.000 = -45.500 bells
profit is negativ and should be marked red. If sell price is over buy price (e.g. 110 bells) the profit is 37.000 bells

If you agree I will fix it - after finishing translation tasks.

Good morning. Missed the commits......

Flashing

Hi,

There is a flashing when changing views through the tabBarController isn't there any way to make a small animation?

Regards

PS: Sorry for the multiple issue regarding the iOS version, the github mobile application told me that the issue was not created.

IOS version

Hi,

I think that the restriction of the iOS version which must be the last one (13.4.1) is too restrictive.

Doesn't it seem better to have a minimum version of 13.0.0?

Regards

iOS crash after attempting to enter turnip prices.

Unfortunately this happened after I entered all my inventory 😓 but the app crashed and it would not let me back in. I had been entering my turnip prices after signing up for AC Helper+. So I deleted the app and re-downloaded it but it's not picking up that I am a subscriber anymore :-/

iOS Version

Hi,

I think that the restriction of the iOS version which must be the last one (13.4.1) is too restrictive.

Doesn't it seem better to have a minimum version of 13.0.0 ?

Regards

Turnips chart improvement

  • Add +50/-50 (not below 0) to the minMax spread so it have space to breath
  • Scroll the Y legend with the content? (need to test)
  • Curved lines

Push notices

This is a general issue to capture push notice ideas. These can all be done locally, but need to be based on the island time.

  • when shops open / close
  • special events (sprint fishing tourney)
  • turnip price changes
  • turnip sell reminder / turnip purchase reminder

Item Discovery

A bit like I did in MovieSwiftUI discover movies view: https://github.com/Dimillian/MovieSwiftUI
I think with would be great to have somewhere in the the possibility to see random items.
We would display them as stacked cards and you just swipe them to add them to like/collected/lists or dismiss them.

Suggestion - turnip prices should update to show user input prices

The turnip calculator shouldn’t say average prices for the time slot if the user has put in a value already.
26B39912-75C7-49DB-B154-1FB0C7ABADA0
In the screenshot above, it says the average for the morning is 98 bells but I already put in 95 bells as my price for this morning. It should say your price this morning is 95 bells sense there is already a price entered.

Data dump / API / Items update status

This is an issue I want to keep open and updated, because it's quite hard to keep up to date with the data and how / what / when I'm updating items data from the API and put it inside the app.

Latest: 99e6eb1

NookPlaza grouped houseware, art, miscellaneous and wall-mounted into one furnitures endpoint. It also change a bit the JSON response.
I've been able to import it only for Furnitures (the most important, changing data as game update). The only change in our Item Codable object is that obtainedFrom is now an array instead of a String. So from the source JSON i've renamed obtainedFrom to obtainedFromNew and we have both properties in our Item model for "old" items and new items.
Once I'll migrate all categories / endpoint I'll be able to remove the obtainedFrom completely and keep only the new one as an optional to allow legacy items in UserCollection to still be decoded.

User interface localization

Without even talking about the data, we need to localize at least the UI.
There ton of Text constructed with variable in the middle of the string and I don't think it's a good pattern to have.
Anyway let's look into it. Never localized a SwiftUI app yet.

  • English
  • German
  • French
  • Spanish
  • Italian
  • Russian
  • Dutch
  • Chinese TW
  • Chinese HK
  • Japanese
  • Korean

Turnip tab reload glitch

Tapping the turnips tab while already viewing that tab causes a weird refresh. Can be restored by visiting any other tab, then turnips again.

Make the app playful

  • Make star button having feedback and animation
  • Make dashboard a little more rounded (headers maybe?)
  • Add animation to item detail when opening the view
  • Maybe some parallax on item detail?
  • More

Alternative icon picker

We have lots of icons! We need to support being able to choose alternatives.

  • convert images
  • setup in project
  • build UI under settings view

Fix previews

Some users / developers want to use previews. Some (most) of them are for now missing or not working because missing a dependency.

Swipe to Add to Collection

Hey all. New here. Gonna try to jump in with helping on things but I’ve never coded in swift. See if I can catchup fast.

Would be better if swiping right added a bug/fish/item to your collection. I also find a check might be better than a star for the non swipe method? It took me a bit to figure out star wasn’t favouriting meaning something else. Thoughts?

Setup CI

Automate delivery to TF. Use github actions / fastlane.

Dashboard: organize widgets

@Bonney Did the UI for the re order button + sheet. Now we need to make it works.
This is mostly artchitectural, we need to have a list of TodayItem struct that have a makeView() function. So we can save and restore that.

Dashboard: Today task widget

@Bonney Did the UI for the view in TodayTasksSection now we actually need to make it works. We can displays the 4 fossils to find, items in tree etc... any task that can be done daily and checked.

Turnips UI issue

Hi, first, thanks for this great app! I use it a lot while playing the game.
After updating the turnip price this afternoon, the UI looked like this:
image0

I can't reproduce it at the moment

User data capture

We need to collect certain pieces of data to understand how to feed other features

  • island time
  • native fruit
  • hemisphere
  • infrastructure (able sisters shop, resident service building, etc)

Tabs Navigation Stack Resets

Expected Behaviour: When I switch between tabs on TabView, each tab should maintain its own Navigation Stack.

Current Behaviour:
When i switch beteween tabs, they always show me the rootView.

Example: On Villagers tab if I go to some villagers details Screen and then click on Dashboard and come back to Villagers tab, it shows me Villagers list, instead of Detail View. This is happening for all the tabs

iOS app crash when selecting certain villagers?

I don't quite understand what's causing this issue. I recorded my screen and posted the video here. When I search for 'Pudge' and click on them, it works fine. But when I go back to click on 'Puddles', the app crashes.

iOS Version

Hi,

I think that the restriction of the iOS version which must be the last one (13.4.1) is too restrictive.

Doesn't it seem better to have a minimum version of 13.0.0 ?

Regards

Categorize items added into my stuff

My stuff' -"items" section could have the folders of specifics since there are a ton of items eg; flooring, wallpaper, furniture, etc

From a fellow Reddit user

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.