Giter VIP home page Giter VIP logo

happy-doggo's Introduction

HappyDoggo

Credit image frame: https://depositphotos.com/portfolio-1987177.html?content=vector

Credit to icon image: https://perchance.org/ai-photo-generator

Credit to LinkedIn and GitHub icons: https://icons8.com/icons/ios-glyphs

Credit to Loading Screen animation: https://loading.io/asset/714910

Credit to Dog API for all the images fetched: https://dog.ceo/dog-api/

This project was generated with Angular CLI version 13.3.11.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

happy-doggo's People

Contributors

duartemcsilva avatar

Watchers

 avatar

happy-doggo's Issues

Feature: Generalize responsivity of image-grid for few images

The image-grid was designed thinking about getting many results. However, in cases the number of results do not fit the first row, the images' borders appear distorted.

  • Generalized the logic in image-grid when getting less than four images;
  • The grid is still responsive as before

Example: When the screen-width > 1520px, the images appear like this:
image

Refactor: Implementation of best practices to subscriptions

Depending on the usecase, using one of these methods:

  • .unsubscribe()
  • take(#n) / takeUntil($event)/first()

explore the option of using the decorator '@AutoUnsub'

https://blog.bitsrc.io/6-ways-to-unsubscribe-from-observables-in-angular-ab912819a78f
Main takeaways of: https://medium.com/swlh/basic-reactive-patterns-in-angular-b404bc127a0a

  • Subscribe to your observables using the async pipe
  • Use the switchMap operator when you only care about the action completing based on the latest value of the source observable
  • Minimize change detection cycles on component initialization by using combineLatest
  • Make use of pipeable operators like map to do any data transformation/manipulations inside of your component class

Feature: Implement search bar with suggestions capability

  • Search bar instead of search dropdowns.
  • Include a suitable debounce time

An example of component implementation:

const source = fromEvent(input, 'input');

source.pipe(
  debounceTime(300),
  map(event => (event.target as HTMLInputElement).value),
  switchMap(query => makeSearchRequest(query))
).subscribe(results => console.log(results));

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.