This is the first project of the advanced track (Web Development Advanced) that is provided by Udacity. The project is about an image processing API (Application Programming Interface).
Hi there, This image processing API was developed by Youssef Hassane. This is the first project of the advanced track (Web Development Advanced) that is provided by Udacity and in cooperation with FWD (Egypt Future Work is Digital Scholarship). The project is about an image processing API (Application Programming Interface). In order to utilize it you need to enter three thing the name of the image, the width of the new image, and the height of the new image.
For example:
For example: http://localhost:2356/api/resize?imageName=fjord&width=300&height=300
Version 1.0.2
In order to run the project you should do the following:
Firstly, you should download the project by clicking of the green button "code" and then clicking on "Download ZIP".
Secondly, you should download node.js in you machine (You can download node.js from the following link: https://nodejs.org/en/download/)
Thirdly, you should open the terminal on the project directory and type thr command:
npm install

Fourthly, you can follow the following command in order to start/run the project:
In order to build the project:
npm run build
In order to run Prettier:
npm run prettier
In order to build the project and start testing:
npm run start_testing
In order to start testing:
npm run jasmine
In order to run ESlint:
npm run lint
In order to run nodemon and start the project:
npm run start_project

After typing the following URL:
http://localhost:2356/api/resize?imageName=fjord&width=300&height=300
You will get the following:

Notice that the server is utilizing the port 2356
- Youssef Hassane
-
Caudan, B. (n.d.). 'SpecReporter' is not assignable to type 'reporter: CustomReporter' · issue #588 · bcaudan/jasmine-spec-reporter. GitHub. Retrieved October 24, 2022, from bcaudan/jasmine-spec-reporter#588
-
Express. (n.d.). Routing. Express routing. Retrieved October 24, 2022, from https://expressjs.com/en/guide/routing.html
-
Jasmine. (n.d.). Namespace: Matchers. Jasmine. Retrieved October 24, 2022, from https://jasmine.github.io/api/3.6/matchers.html
-
Maldonado, L. (2022, September 22). Getting started with typescript generics. LogRocket Blog. Retrieved October 24, 2022, from https://blog.logrocket.com/getting-started-with-typescript-generics/
-
MDN. (n.d.). Express/node introduction - learn web development: MDN. Learn web development | MDN. Retrieved October 24, 2022, from https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction#introducing_express
-
Node.js. (n.d.). Node.js V19.0.0 documentation. File system | Node.js v19.0.0 Documentation. Retrieved October 24, 2022, from https://nodejs.org/api/fs.html
-
Node.js. (n.d.). Node.js V19.0.0 documentation. Global objects | Node.js v19.0.0 Documentation. Retrieved October 24, 2022, from https://nodejs.org/api/globals.html
-
Node.js. (n.d.). The node.js event loop, timers, and process.nexttick(). Node.js. Retrieved October 24, 2022, from https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#:~:text=The%20event%20loop%20is%20what,operations%20executing%20in%20the%20background.
-
NPM. (n.d.). Jasmine-ES6-Promise-Matchers. npm. Retrieved October 24, 2022, from https://www.npmjs.com/package/jasmine-es6-promise-matchers
-
npm. (n.d.). Sharp. npm. Retrieved October 24, 2022, from https://www.npmjs.com/package/sharp
-Prettier. (n.d.). What is prettier? · prettier. Prettier. Retrieved October 24, 2022, from https://prettier.io/docs/en/index.html
-
sharp. (n.d.). High performance node.js image processing. sharp. Retrieved October 24, 2022, from https://sharp.pixelplumbing.com/
-
SitePen. (2021, July 7). Advanced typescript 4.2 concepts: Classes and types. SitePen. Retrieved October 24, 2022, from https://www.sitepen.com/blog/advanced-typescript-concepts-classes-and-types
-
TypeScript. (n.d.). Handbook - basic types. TypeScript. Retrieved October 24, 2022, from https://www.typescriptlang.org/docs/handbook/basic-types.html

