Image Processing API на Node.js, TypeScript, Sharp, Jasmine

700 руб.за час
13 января 2021, 13:49 • 0 откликов • 47 просмотров
Нужна помощь с контрольной работой Image Processing API для онлайн курса по Full Stack JavaScript.
Вы должны неплохо разбираться в Node.js, TypeScript, Sharp, Jasmine
Спецификации смотрите на прикреплённых картинках.
Дополнительную информацию предоставлю после начала работы.

Project Overview

Project Introduction
You will be building an API that can be used in two different ways. The first, as a simple placeholder API that allows you to place images into your frontend with the size set via url parameters (and additional stylization if you choose) for rapid prototyping. The second use case is as a library to serve properly scaled versions of your images to the front end to reduce page load size. Rather than needing to resize and upload multiple copies of the same image to be used throughout your site, the api you create will handle resizing and serving stored images for you.

You will set up your Node.js project from scratch, installing all dependencies and writing all necessary configurations to make your dependencies work together. Even though the project being built is quite simple, the way you set up this project will be scalable enough to move to an enterprise level solution in the future. Imagine needing to process hundreds of images with multiple thumbnail sizes for an ecommerce solution. This project provides the building blocks for that level of functionality.

In addition to setting up and creating the functionality, you will be using industry best practices to ensure that your code is as scalable as the architecture you create. Through the use of TypeScript, Unit testing, linting, and formatting you will write code that is not only easy to read, but is maintainable, less error prone, and easier to debug. At enterprise level, it becomes possible that hundreds of people may need to interact with your code, so being able to work within standards is imperative to your success.

Project Summary
This project aims to give you a real-world scenario in which you would read and write to your disk via a Node.js express server rather than a database. The project you create serves two purposes: to prepare you for setting up scalable code and architecture for real-world projects as well as to tie together some of the most popular middleware and utilities found in Node.js projects. This project barely touches the surface of what is possible but will prove your ability to use what you’ve learned in real-world scenarios.

For this project, refactor and test as much as possible while you are building. Since you are using TypeScript and an unfamiliar library, it sometimes is easier to write and build in plain JS to see what your functions return; just remember your submission needs to be in TypeScript. As your skills improve, typing in TypeScript will feel more intuitive. Make sure to remove any debugging code from your final submission.

What will I learn?
The API you create presents your first opportunity to pull together the skills you learned through the course and tie them together in a commonly used application. Aside from solidifying your skills, you’ll also have the opportunity to problem-solve and work with the documentation of a popular image processing utility.

The following are just some of the questions that you’ll experience along the way:

What’s the ideal workflow?
How should I structure my project?
How do I want to write my asynchronous TypeScript?
How many functions do I need to complete this task?
What types of things should I test for?
There’s no single correct answer to each question. While building this project, working with peers, and getting feedback from the project reviewer -- you will naturally develop your own answers to these questions!