Picky Search, SPA/MVC, Angular 6
Multi API search feature
Picky Search, SPA/MVC, Angular 6
Multi API search feature
![[1] Picky Search, SPA/MVC, Angular 6, Multi API search feature](/projects/picky-search/picky-search-api_featured.png)
![[1] Picky Search, SPA/MVC, Angular 6, Multi API search feature](/projects/picky-search/picky-search-api_1.png)
![[2] Picky Search, SPA/MVC, Angular 6, Multi API search feature](/projects/picky-search/picky-search-api_2.png)
![[2] Picky Search, SPA/MVC, Angular 6, Multi API search feature](/projects/picky-search/picky-search-api_3.png)
![[3] Picky Search, SPA/MVC, Angular 6, Multi API search feature](/projects/picky-search/picky-search-api_4.png)
Overview
Picky Search is an advanced API search application that integrates multiple RESTful APIs, built with Angular 6. It offers users the ability to search through various APIs, including PunkAPI, Getty Images API, Flickr API, and OMDB API, all within a single platform. The app can be extended to support any number of APIs, and features a local storage integration for persistent user experiences.
Features
- Toggle between different APIs to search data.
- Display random results upon loading.
- Filter through results and search live data from the API.
- Local storage integration to persist data across sessions.
Tech Summary
- Built with Angular 6 and Angular CLI.
- Uses Bootstrap 4 for responsive design.
- API integration includes Flickr, Getty Images, PunkAPI, and OMDB API.
- The app supports dynamic RESTful API calls and offers search filtering features.
- Optimized for production with progressive modular integration.
Outcome
This project provides a dynamic, extensible search platform using Angular 6, integrated with multiple public APIs. It allows users to interact with various media and movie databases in an intuitive interface, supporting modern features like filtering and local storage persistence.
Technologies:
Webpack
Webpack is a powerful module bundler used for JavaScript applications. It helps optimize the delivery of code by bundling modules, assets, and resources. Why use it? Webpack provides code-splitting, asset optimization, and powerful plugins to improve the development workflow. Best practices include setting up proper configurations for loaders and plugins. Webpack was first developed in 2012.
Typescript
TypeScript is a superset of JavaScript that adds static types to the language. Why use it? TypeScript improves code quality by enabling type checking, autocompletion, and error detection during development. Best practices include using strict typing and leveraging TypeScript's powerful interfaces and generics. TypeScript was first released in 2012.
Angular cli
Angular CLI is a command-line interface for Angular, designed to simplify Angular project setup and management. Why use it? Angular CLI automates tasks like creating components, services, and running tests, streamlining the development workflow. Best practices include using the CLI for project scaffolding and automation. Angular CLI was first released in 2016.
Mvc
MVC (Model-View-Controller) is an architectural pattern for designing web applications. Why use it? MVC separates data, user interface, and user input, making applications easier to manage and scale. Best practices include separating concerns, using routers for navigation, and leveraging templates for views. MVC has been in use since the 1970s.
Resolvers
Resolvers are functions in GraphQL that handle data fetching for queries and mutations. Why use it? Resolvers map GraphQL operations to backend data sources, ensuring efficient data retrieval. Best practices include handling errors gracefully and keeping resolvers modular. Resolvers have been a core part of GraphQL since its introduction in 2015.
Javascript
JavaScript is a high-level, dynamic programming language used to create interactive web applications. Why use it? JavaScript is essential for adding interactivity, controlling multimedia, and handling events on web pages. Best practices include using ES6+ features like arrow functions, promises, and async/await. JavaScript was first developed in 1995.
Es6
ES6 (ECMAScript 2015) is the sixth edition of the ECMAScript standard, introducing new features like classes, modules, and arrow functions to JavaScript. Why use it? ES6 makes JavaScript code cleaner, more modular, and easier to manage. Best practices include using let/const over var and taking advantage of modern JavaScript features. ES6 was finalized in 2015.
Spa
SPA (Single-Page Application) is a web app that interacts with the user by dynamically rewriting the current page. Why use it? SPAs provide a smoother, more seamless user experience with fast page loads and minimal server interactions. Best practices include using client-side routing and lazy loading. SPAs became popular in the late 2000s.
Bootstrap 4
Bootstrap 4 is a popular front-end framework for building responsive, mobile-first websites. Why use it? Bootstrap 4 offers pre-designed, customizable components, making web development faster and more accessible. Best practices include customizing themes and optimizing for performance. Bootstrap 4 was released in 2018.
Flex
Flexbox (or Flexible Box) is a layout model in CSS that allows for more efficient and responsive web design. Why use it? Flexbox enables flexible and dynamic layouts, making it easier to create responsive, mobile-friendly websites. Best practices include using flex containers to align and distribute items with minimal effort. Flexbox became widely used after its support was added in 2012.
Scss
SCSS (Sassy CSS) is a CSS preprocessor that extends CSS with features like variables, nested rules, and mixins. Why use it? SCSS improves CSS by making it more maintainable and reusable. Best practices include organizing styles in partials, nesting selectors logically, and using mixins for reusable code. SCSS was first released in 2006.
Lodash
Lodash is a JavaScript utility library that provides modular, performance-optimized functions for common programming tasks. Why use it? Lodash simplifies complex operations like deep cloning, data manipulation, and iteration, improving code readability and maintainability. Best practices include using the appropriate Lodash methods to reduce boilerplate code. Lodash was first released in 2012.
Node.js
Node.js is a JavaScript runtime built on Chrome's V8 engine for building server-side applications. Why use it? Node.js offers fast performance and scalability, making it ideal for real-time applications and APIs. Best practices include using async/await, modularizing code, and using event-driven programming. Node.js was first released in 2009.
Npm
npm (Node Package Manager) is a package manager for JavaScript, used to install and manage dependencies in Node.js projects. Why use it? npm simplifies package management and ensures dependencies are up to date. Best practices include using versioning for packages and auditing for vulnerabilities. npm was first released in 2010.
Oop
Object-Oriented Programming (OOP) is a programming paradigm based on objects that contain data and methods. Why use it? OOP promotes code reusability, scalability, and maintainability by organizing code into modular, reusable components. Best practices include following principles like encapsulation, inheritance, and polymorphism. OOP gained popularity in the 1980s.
Openshift
OpenShift is a Kubernetes-based container platform for building, deploying, and scaling applications. Why use it? OpenShift simplifies container orchestration, offering a platform for continuous integration and continuous delivery (CI/CD). Best practices include managing security, scaling, and monitoring your containers. OpenShift was first released in 2011.
Restful api
RESTful API is an architectural style for designing networked applications using HTTP. Why use it? It simplifies communication between clients and servers using stateless, scalable, and flexible endpoints. Best practices include following REST principles like resource-based URIs and proper use of HTTP methods. RESTful APIs have been in use since the early 2000s.
Rest/api
REST (Representational State Transfer) is an architectural style for designing networked applications. REST APIs allow communication between clients and servers over HTTP. Why use it? REST APIs are scalable, stateless, and easy to integrate into web services. Best practices include using proper HTTP methods (GET, POST, PUT, DELETE) and stateless communication. REST APIs became popular in the 2000s.
Compass
Compass is a CSS authoring framework built on Sass, providing reusable style patterns. Why use it? Compass simplifies CSS development by offering mixins and reusable functions for common tasks like gradients and sprites. Best practices include using Compass for rapid prototyping and custom grid systems. Compass was first released in 2009.
Git
Git is a distributed version control system that helps manage source code changes. Why use it? Git allows for collaboration on projects, tracking changes, and efficient branching. Best practices include committing early and often, and using branching strategies like Gitflow. Git was first developed in 2005.
Rx.js
RxJS (Reactive Extensions for JavaScript) is a library for reactive programming using Observables. Why use it? RxJS helps manage asynchronous data streams with powerful operators, making it easier to handle events, HTTP requests, and more. Best practices include using operators like map, mergeMap, and debounce for cleaner code. RxJS was first released in 2011.
Gettyimages
Getty Images is a leading provider of stock photos, video footage, and music. Why use it? Getty Images offers high-quality, licensed media for commercial and editorial use. Best practices include ensuring proper attribution and licensing for use in projects. Getty Images has been around since 1995.
Punkapi
PunkAPI is a free API that provides access to data about BrewDog’s beer catalog. Why use it? PunkAPI allows developers to easily integrate beer information into applications, such as for brewing or beer rating apps. Best practices include handling API responses efficiently and caching data where appropriate. PunkAPI was launched in the mid-2010s.
Flickr
Flickr is an image and video hosting platform used for photo sharing and storage. Why use it? Flickr offers high-quality image storage with social networking features and strong community engagement. Best practices include using Flickr’s API for integration and adhering to their licensing guidelines. Flickr was founded in 2004.
Omdb
OMDb (Open Movie Database) is a database of movie data accessible via an API. Why use it? OMDb allows developers to integrate movie metadata such as ratings, genres, and actors into applications. Best practices include caching data and using the API's search features efficiently. OMDb was launched in 2014.
Express.js
Express.js is a fast and minimalist web application framework for Node.js. Why use it? Express simplifies routing, middleware, and server setup, making it ideal for building APIs and web applications. Best practices include using middleware for handling errors and request validation. Express.js was first released in 2010.
Heroku
Heroku is a cloud platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud. Why use it? Heroku simplifies deployment and management of apps, with support for multiple programming languages and easy integrations. Best practices include using Heroku’s built-in monitoring tools for performance insights. Heroku was founded in 2007.
Production
Production in web development refers to the live environment where the final version of a product is deployed. Why use it? The production environment is optimized for stability, performance, and scalability. Best practices include version control, continuous deployment, and monitoring production health. Production environments have been the standard for software release since the 1950s.
Responsive
Responsive web design ensures that web pages look good on all device sizes. Why use it? It improves user experience across desktop, tablet, and mobile devices. Best practices include using flexible grid layouts, responsive images, and media queries. Responsive design became a standard practice in 2010.