GithubHelp home page GithubHelp logo

comics-shortcut-test's Introduction

The Shortcutter's Coding Challenge

Created by Sajad Vishkai

Hi dear reader, Thanks for exciting challenge!

For the reason of MVP, i have left some parts short, and some parts are practical as you can see, But some parts are ✨Enjoyable ✨. (says the guy who wrote it :D)

Project has 5 Main parts

  • Delegates (AppDelegate, SceneDelegate)
  • Models
  • Modules
  • Utils
  • SupportedFiles
  • Resources

Features

  • You can browse through the comics. They will be available offline and online.
  • You can Search for comics. (ID or Name)
  • You can get the comic explanation and see it in Details.
  • You can zoom on any comic if you like to see it closer.
  • Favorite the comics, (It would work offline too).
  • You can share comics with others via card ContextMenu or share button in ComicDetail. (Im planning to share only the transcript to others for now)
  • You can see your favorites in another view which can be presented by holding your finger on app icon (iOS Home).
  • App supportes multi languages. (Sweedish and English for now)
  • App supportes Theme changing from OS.

Tech Stack

1. External libs

  • Realm - Realm to work as our Database.
  • KingFisher - Kingfisher to work as our Image handler.
  • CardStack - CardStack to work as our Comic view holder.
  • Dillinger - To write this beautiful ReadMe.
  • Google Search for StarShape component.

2. Modules structure

Module Structure
AppDelegate AppDelegateCompsotie + AppDelegateFactory
ComicView SwiftUI + MVVM and Combine
ComicCard SwiftUI + MVVM and Combine
ComicDetail SwiftUI + VIPER and Combine (added a touch of viewmodelish style)
Search SwiftUI + MVVM and Combine
Favorites SwiftUI + MVVM and Combine
RealmHelper Singletone

3. Unit Tests

As I mentioned earlier, For sake of a MPV project I have decided to focus on functionality of the app, so Unit tests are a little bit faded, but for you to measure my work, i have added some.

How to run:

Cmd + U

4. UI Tests

As I mentioned earlier, For sake of a MPV project I have decided to focus on functionality of the app, so UI tests are none at this moment, Realm lib needs to be configed if we want to proceed more. It fails the running UI Tests proccess :(

Git History

I have moved this repo from my own local git, so could not get the history right, But i am attaching a screen shot for you to see my history, i can give access to you if it is necessary.

License

MIT

comics-shortcut-test's People

Contributors

sajacl avatar

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.