This is an app written by Chad Stewart for the YouGo practice project.
This project was to complete part 0 of the practice project.
The document describing building the project can be found here.
You can find a document listing my design decisions here.
- Node.js
- Express.js
- TypeScript
- Sharp
- Winston
- Jest
- SuperTest
The project is in the nodejs folder and you'll need to navigate to that folder before following the instructions below.
You can install all dependencies for this app by running the command:
npm i
This is an https server. You'll need a SSL key and certificate to use this which will need to be installed in nodejs/cert
.
Currently there's two commands that can be used to start the project.
npm start
npm run dev
- npm start will compile ts files into a dist folder and then run the app there.
- npm run dev will start nodemon and listen for changes in your ts files and relaunch the server.
You can run tests for the application using this command:
npm test
You can view the Swagger Documentation for the API by starting the application using either command above and then navigating to this link: https://localhost:3000/api-docs
This is a web server which with currently 5 endpoints:
- image/image_resize: Resizes an image between 1% - 99% it's original size.
- image/grayscale: Grayscales an image
- image/transformation: Transforms an image based on a few parameters
- image/blur: Adds a Gaussian Blur to an image
- image/negate: Negates all the colors of an image.
The server will accept post requests with images in base64 and only accepts image/jpeg and image/png files currently. All other files and requests will be rejected.
Just want to give a quick shout to zenHorace and SheidHeda for putting together this project and the community around it!