iOS Bootcamp project for candidates deliveries

Overview

iOS Bootcamp Project 2021

Thank you for participating in the iOS Bootcamp 2021!

This README file contains the instructions to complete the capstone project for the bootcamp.

Table of Contents

Introduction

This iOS Bootcamp is looking to improve your iOS Technical skills.

At the end of the course, you will have gained enough experience to recall the essence of several techniques related to the skills covered in the bootcamp, apply them correctly, and even provide shortcuts and quick ways for accomplishing your tasks.

  • iOS SDK
  • Swift
  • Presentation Patterns
  • Dependency Injection
  • Networking
  • Software Design Principles
  • Debugging
  • Persistence Layers
  • Mobile App Release Management

Additionally, you’ll understand how the technologies internally work and what are the dos and don'ts.

The Project

The purpose of this project is for you to demonstrate your iOS skills.

This is your chance to show off everything you've learned during the bootcamp and to improve your Technical skills.

You will build and deliver a whole iOS application on your own.

We don't want to limit you by providing some fill-in-the-blanks exercises. Instead, we want you to build it from scratch.

We hope you find this exercise challenging and engaging.

The goal is to build a TheMovieDb client app.

*NOTE: Use f6cd5c1a9e6c6b965fdcab0fa6ddd38a as the api_key (Include this in your API calls!)*

You should use this API just as a guide and as a trigger for your own ideas. It's not mandatory to use an especific UI component. It is YOUR project and you can be creative in the way you build it.

Requirements

These are the main requirements for your deliverable evaluation:

  • Use all that you've learned in the course:
    • Swift best practices
    • Design Principles
      • SOLID
      • YAGNI
      • DRY
      • KISS
    • Design Patterns
    • Architectures
    • Dependency Injection
    • Unit Test
  • Implement Unit Tests Coverage (~70%)

Keep the use of 3rd party libraries to the minimum, especially the ones related to the topics covered in the course.

For example, you can use an image downloader framework (such as Kingfisher) if that makes you feel more comfortable and move faster. However, we still want you to develop and deliver meaningful styled-components.

Getting Started

We have provided an Xcode project in this repository.

The provided codebase is not directly related to the challenge topic, but you can use it as a guide for structuring your application. Feel free to add, remove, or change anything if you consider it necessary.

To get started, follow these steps:

Step 1: Follow the TheMovieDb API, you can create your own account or you can use this f6cd5c1a9e6c6b965fdcab0fa6ddd38a api key.

Step 2: After configuring the API key, you can read the TheMovieDb API documentation to get examples about how to consume the API.

Step 3: Create your own main branch main-(your name)-(your lastname), example: main-steve-jobs

Step 4: Create your own dev branch dev-(your name)-(your lastname), example: dev-steve-jobs

Step 5: Create your task branches using (your name)-(your lastname)-description, example: steve-jobs-add-network-layer, you must create a PR for any new feature added to your project.

Step 6: Commit periodically.

Step 7: Configure SwiftLint in your project, this repository already contains a swiftlint file.

Step 8: Have fun!

Deliverables

We provide the delivery dates for you to plan accordingly. Please, take this challenge seriously and try to make progress constantly.

It’s worth mentioning that you’ll ONLY get feedback from the review team for your first deliverable, so you will have a chance to fix or improve the code based on our suggestions.

For the final deliverable, we will provide some feedback, but there is no extra review date. If you are struggling with something, we will be happy to help you via the #ios-bootcamp-2021 slack channel.

First Deliverable

  • Home View

    • Show movies
      • Trending
      • Now Playing
      • Popular
      • Top Rated
      • Upcoming
  • Search movie or person.

    • Display results by keyword and by query.
  • Movie Details View

    • Display the selected movie and its information.
    • Display overview.
    • Display cast.
    • Display similar movies.
    • Display recommended movies.
    • Option to read reviews.
  • Reviews View

    • Display reviews

*Important: what’s listed in this deliverable is just for guidance and to help you distribute your workload; you can deliver more items if necessary.

Final Deliverable

  • Finish any pending functionality or address any comment you receive from your previous deliverable.

  • Unit Testing

    • Create tests for your application
    • Coverage must be at least 70%

Submitting the deliverables

For submitting your work, you should follow these steps:

TheMovieDb API

  • Base Url:
https://api.themoviedb.org/3
/trending/movie/day?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en&region=US&page=1
  • Now Playing url
/movie/now_playing?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en&region=US&page=1
/movie/popular?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en&region=US&page=1
  • Top Rated url
/movie/top_rated?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en&page=1&region=US
/movie/upcoming?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en&region=US&page=1
/search/keyword?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en&query=Matrix
/search/movie?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en&page=2&query=Matrix%20
/movie/603/reviews?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en&language=en-US
  • Similar movies url
/movie/603/similar?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en
  • Recommendations url
/movie/603/recommendations?api_key=f6cd5c1a9e6c6b965fdcab0fa6ddd38a&language=en

*Important: Don't forget to include any additional information that might be necessary for running your code (for example, test user credentials, etc).

Comments
  • Javier cueto final delivery

    Javier cueto final delivery

    What does this PR do?

    • improving network layer using combine
    • const with localization
    • Spanish support
    • Fixes in search module
    • Show error from api
    • Fixes interface supporting ipad device
    • implementing workers for modules (moviesWorker, reviewWorker ...)
    • updating test

    Where should the reviewer start?

    • modules view
    • network layer

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    opened by javierCueto 1
  • Reviews view model tests

    Reviews view model tests

    What does this PR do?

    Where should the reviewer start?

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    opened by rickramirr 1
  • Javier cueto migration to viper

    Javier cueto migration to viper

    What does this PR do?

    Migration to viper

    Where should the reviewer start?

    To review modules

    • visitor pattern pending

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    opened by javierCueto 1
  • Karla rubiano refactor mvvm

    Karla rubiano refactor mvvm

    What does this PR do?

    Refactor MVC to MVVM.

    Where should the reviewer start?

    ViewModels files and ViewControllers files.

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [x] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    enhancement 
    opened by kdrubianoc 1
  • App will show a list of movies and a detail screen

    App will show a list of movies and a detail screen

    What does this PR do?

    App request several lists of movies by topic App display each requested list on a collection view App play backgroud music App display a detail screen for when user select a movie.

    Where should the reviewer start?

    Files: MoviesViewController Movie APIManager

    Preview

    movies

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [x] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    opened by changosenelarbol 1
  • Feed selection

    Feed selection

    What does this PR do?

    Where should the reviewer start?

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [x] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    4. Retain cycles (Capture list)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    opened by rickramirr 1
  • Karla rubiano search movie person

    Karla rubiano search movie person

    What does this PR do?

    Modified the get function of the MovieService Protocol, to be generic. Added a search button in the initial table and implemented a Search Table View Controller to search person or movies. Created MovieInfoViewController and PersonDetailViewController to show the information of a movie (similar movies, recommended, reviews, and cast) or a person. The review's information is managed by ReviewsViewController and ReviewsDetailViewController.

    Where should the reviewer start?

    NetworkInformation file (enum MovieListEndpoints and Movie service protocol), MovieFacade file (implemented the updated protocol), Model's files, TableViewController (added the search bar), SearchTableViewController, MovieInfoViewController, PersonDetailViewController, ReviewsViewController and ReviewsDetailViewController.

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [x] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [x] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    2. Force unwrapping !

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    opened by kdrubianoc 1
  • Javier cueto interface integration

    Javier cueto interface integration

    What does this PR do?

    Load data from api show detail movies review movies

    Where should the reviewer start?

    classViewControllers apiCalls

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    opened by javierCueto 1
  • Misael Chavez - Project Initial settings

    Misael Chavez - Project Initial settings

    What does this PR do?

    PR has the initial settings for the project: SwiftLint & KingFisher

    Where should the reviewer start?

    This PR only includes initial configurations

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    opened by misaelchavez 1
  • Feed views

    Feed views

    What does this PR do?

    Where should the reviewer start?

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [x] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    4. Retain cycles (Capture list)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    opened by rickramirr 1
  • Juan Torres moviesui 1

    Juan Torres moviesui 1

    What does this PR do?

    Show the list of names and score of the movies separated by categories

    Where should the reviewer start?

    In the MainViewController and in the Components folder where the needed cells were created.

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    opened by juandatorr99 1
  • Dev angel coronado quintero final delivery

    Dev angel coronado quintero final delivery

    What does this PR do?

    Movie Detail screen with MVVM architecture.

    Where should the reviewer start?

    Movie Detail

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [x] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    enhancement 
    opened by AngelitoWizeline 0
  • Sandra herrera final deliverable

    Sandra herrera final deliverable

    What does this PR do?

    Where should the reviewer start?

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    opened by SandraMarcelaHerreraArriaga 1
  • Feature/roberto cruz final

    Feature/roberto cruz final

    What does this PR do?

    This is my final deliverable, tried to address all the points in the sheet, but missed combine and tests.

    Where should the reviewer start?

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [x] MVC
      • [ ] MVP
      • [x] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [x] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [x] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [x] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [x] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [x] Developing
    opened by fiddly-digits 1
  • Juan torres viewmodel

    Juan torres viewmodel

    What does this PR do?

    ViewModel Implementation

    Where should the reviewer start?

    ViewModels

    Code review checklist Code Review Rubric

    1. DRY Principle (Don’t repeat yourself)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Yagni Principle (You Aren't Gonna Need It)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. KISS Principle (Keep It Simple, St...d)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Remove unused code

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Hard-coded values

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    6. Language style guide & coding conventions

    1. Architecture / Design Pattern

      • [ ] MVC
      • [ ] MVP
      • [ ] MVVM
      • [ ] VIPER
    2. Architecture Implementation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. SOLID

    • Single Responsibility Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Open Closed Principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Liskov substitutability principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Interface segregation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    • Dependency Inversion principle

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    1. Testing

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    2. Force unwrapping !

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    3. Mutable vs immutable property (Right use of let and var)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    4. Retain cycles (Capture list)

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    5. Code Documentation

      • [ ] Excellent
      • [ ] Good
      • [ ] Adequate
      • [ ] Developing
    opened by juandatorr99 0
Owner
Wizeline Academy
Wizeline Academy offers free courses that teach today’s most high-value skills in tech. We empower you with knowledge and the power to innovate.
Wizeline Academy
WeatherApp - this is weather app based on AppBrewery code from bootcamp (but upgraded)

WeatherApp What was created Based on App Brewery code I've made a beautiful, dark-mode enabled weather app. It's possible to check the weather for the

Ewelina Mijal 0 Dec 30, 2021
Don't start from scratch, start from Here! This is a starter project for iOS projects. It contains all the basic configurations and common libraries for your project.

Starter-iOS Don't start from scratch, start from Here! This is a starter project for iOS projects. It contains all the basic configurations and common

Shaban Kamel 6 May 24, 2022
NewsAPI-Project - News API Project For iOS

NewsAPI-Project Es necesario descargar y realizar un pod install para ejecutar e

Álvaro Ferrández 0 Feb 3, 2022
Flixster-iOS - Flixster iOS Project for CodePath iOS Course

Flixster-iOS Flixster iOS Project for CodePath iOS Course Flix Flix is an app th

null 0 Feb 3, 2022
yikyak-translate-ios - iOS Take Home Project

yikyak-translate-ios - iOS Take Home Project Before you start Make sure you have the latest stable version of Xcode and have a way to connect to a Git

null 0 Jun 11, 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
Completed Project for Cross Platform Image Filter SwiftUI macOS & iOS App

Completed Project for Cross Platform Image Filter SwiftUI macOS & iOS App Follow the tutorial at alfianlosari.com Features Filter image using predefin

Alfian Losari 73 Dec 19, 2022
Sample iOS project built by SwiftUI + Flux and Combine framework using GitHub API

SwiftUI-Flux Flux enables us to have unidirectional data flow and make it testable. It's used to be implemented using RxSwift or ReactiveSwift in the

Yusuke Kita 87 Nov 25, 2022
Sample iOS project built by SwiftUI + MVVM and Combine framework using GitHub API

SwiftUI-MVVM One of the biggest idea for having MVVM is that most of data flow can be testable. Data binding in view layer by SwiftUI is awesome. Howe

Yusuke Kita 592 Jan 2, 2023
An iOS template project using SwiftUI, Combine and MVVM-C software architecture

SwiftUI-MVVM-C A template project that uses SwiftUI for UI, Combine for event handling, MVVM-C for software architecture. I have done some small proje

Huy Nguyen 107 Jan 2, 2023
xcode project wrapper around the Elixir TodoApp Desktop app to run on iOS

TodoApp iOS: An iOS Sample App This xcode project wraps the Desktop Sample App to run on an iPhone. How to build & run Install xcode from the app stor

elixir-desktop 43 Nov 7, 2022
Swift IOS App introduction project

Swifty Companion This project aims to introduce you to the development of iOS application. About With the help of 42 API, get a student's profile deta

null 0 Nov 13, 2021
Tongji Univ. SSE IOS Application Development coursework (final project)

HandTalk Tongji Univ. SSE IOS Application Development coursework (final project) : An Demo based on American Sign Language Classfier Development infor

Kaixin Chen 2 Sep 4, 2022
MVP-Clean sample iOS Swift project

RestaurantsApp MVP-Clean sample iOS Swift project The purpose of this document is to explain the architecture of application. This application shows r

Atul Ghorpade 2 May 1, 2022
A sample project how to use YOLOv5 in iOS

CoreML-YOLOv5 A sample project how to use YOLOv5 in iOS. You can run model on yo

MLBoy 32 Dec 19, 2022
Open Source Project of LOST Locations iOS app.

LOST Location Description: LOST Location is a fan made app designed for people visiting Honolulu, Hawaii. This app lists different locations used to s

Adrien Villez 9 Feb 10, 2022
Nextflix - Integrating project of the IOS development course by Digital House

nextflix Projeto integrador do curso de desenvolvimento IOS pela Digital House A

Thiago Leite 2 Feb 1, 2022
Jetpack Compose and SwiftUI based Kotlin Multiplatform project

BikeShare Jetpack Compose and SwiftUI based Kotlin Multiplatform sample project (based on CityBikes API). Running on iOS (SwiftUI) macOS (SwiftUI) And

John O'Reilly 464 Jan 1, 2023
Currency Converter project coded by SwiftUI and Swift5

SwiftUI-Currency-Converter Currency Converter project coded by SwiftUI and Swift5 Features Implemented with SwiftUI Supports darkmode for sure SwiftUI

Alex.Liu 60 Oct 26, 2022