This is an API that takes an image file name and desired width and height, then resizes the image and outputs the resized image on file system, saving it using its original name concatenated to -<width>-<height>.jpg
.
- Add a JPEG image to the images directory.
- Start the server.
- Submit a GET request through the URL in the following format:
http://localhost:<port-is-3002>image?filename=<the-image-file-name-without-.jpg>&width=<desired-width>&height=<desired-height>
- Find the resized image in the thumbnails directory.
- srcstart ---> Runs the server from ./src directory.
- build ------> Transpiles TypeScript to JavaScript in the ./build directory.
- buildstart -> Runs the server form the ./build directory.
- start ------> Both transpiles and runs the server from the ./build directory. ---- important
- jasmine ----> Runs Jasmine unit test on ./build/index.js (use after building).
- test -------> Both transpiles and runs Jasmine unit test on ./build/index.js. ---- important
- Development
- eslint
- jasmine
- nodemon
- prettier
- supertest
- ts-node
- typescript
- @types and @typescript libraries
- Production
- express
- fs
- qs
- sharp
This project was done from scratch by Ayman Abdelwahed (AymanElkridy), only externally depending on libraries, documentations and developers community help, for the purpose of submitting as the first project in Udacity's Advanced Full-Stack Web Development Nanodegree. All the material in this project is subject to open-source policy, available and free to use for and by anyone. Crediting is not asked or expected, even though it is much appreciated.