Skip to content

Geller99/YouGo-Backend-Track

Repository files navigation

Reveal API - World Class Image Manipulation in One Click!


Language grade: JavaScript


Reveal API makes for effortless access to image upload, manipulation, storage and downloads!


Looking for Docs ? 📝

The API Swagger Spec YAML file can be found here
My Design Choices and Decisions are documented here
Official Project Design Decisions will be documented here

Latest version (v0.0.2)

Features 🚀

  • Super Fast Image Processing Speeds
  • Industry Standard Accessibility
  • Open Source
  • Multiple Manipulation Tiers

Individuals x Org

Backend Dev Track By Zen Horace -> https://github.com/YouGoDevs/YouGo-Backend-Track

Implementation -> Geller Micael

Run (Local) and Deploy Commands

First run git clone https://github.com/Geller99/YouGo-Backend-Track on your local drive in any directory

Then npm i install required dependencies for node, AWS, multer, sharp etc

The Package.json file outlines the available commands for running this server locally

 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "ts-node-dev --respawn app.ts",
    "build": "tsc",
    "start": "tsc && node dist/app.js"
  }

npm run dev uses tsc-node-dev and the --respawn command to restart the server whenever chaanges are detected in the code base

Docker Config

Make sure you have a running Docker Daemon, if not, install docker desktop https://www.docker.com/products/docker-desktop/

Commands

Pass Environment variables directly via docker run:

docker run -p 3000:3000 -e VARIABLE_NAME=value yougo-backend-track


Pass .env file to docker via docker run command:

docker run --env-file .env -p 3000:3000 yougo-backend-track

Sample API Calls

Here's a couple examples using a tool like Insomnia/Postman to test the API on localhost

Alt text

To Rotate an image

file: [Attach your image file here]
angle: enter numerical angle here

Alt text

To Resize an image

file: [Attach your image file here]
height: 600
width: 800

Alt text

Define your URL and the specific endpoint you'd like to hit and voila!

Users and Cloud Image Storage

Reveal API provides custom user storage via AWS S3 for users who wish to customize and store their images

When testing locally, you can attach your own S3 bucket and try out

/store, 
/fetchList, 
/fetchImage, 
/ManipulateStore 

These endpoints utilize S3 for image storage and retrieval

Cleanup

When testing the API locally, images are stored in the public folder titled after whatever endpoint they were manipulated with

Remember to clear these periodically after local testing

Alt text

License

MIT © Geller Micael

About

Taking on the YouGoDevs Backend Track with Node JS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published