All Projects → eashish93 → Imgsquash

eashish93 / Imgsquash

Licence: mit
Simple image compression full website code written in node, react and next.js framework. Easy to deploy as a microservice.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Imgsquash

Essential Image Optimization
Essential Image Optimization - an eBook
Stars: ✭ 1,950 (+105.7%)
Mutual labels:  image-processing, compression
Lerc
Limited Error Raster Compression
Stars: ✭ 126 (-86.71%)
Mutual labels:  image-processing, compression
Pngtastic
A pure Java PNG image optimization and manipulation library
Stars: ✭ 159 (-83.23%)
Mutual labels:  image-processing, compression
Imager
Automated image compression for efficiently distributing images on the web.
Stars: ✭ 266 (-71.94%)
Mutual labels:  image-processing, compression
Crunch
Crunch is a tool for lossy PNG image file optimization. It combines selective bit depth, color type, and color palette reduction with zopfli DEFLATE compression algorithm encoding using the pngquant and zopflipng PNG optimization tools. This approach leads to a significant file size gain relative to lossless approaches at the expense of a relatively modest decrease in image quality (see example images below).
Stars: ✭ 3,074 (+224.26%)
Mutual labels:  image-processing, compression
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (-19.62%)
Mutual labels:  image-processing, compression
Tinify Nodejs
Node.js client for the Tinify API.
Stars: ✭ 299 (-68.46%)
Mutual labels:  image-processing, compression
Image Actions
A Github Action that automatically compresses JPEGs, PNGs and WebPs in Pull Requests.
Stars: ✭ 844 (-10.97%)
Mutual labels:  image-processing, compression
Yunle Template Next
yunle-cli 前端开发模板- node 专为线上渲染中间层
Stars: ✭ 13 (-98.63%)
Mutual labels:  nextjs
Iscompress
Inno Setup zlib, bzlib and lzma compression source code - see issrc repository for lzma2 compression source code.
Stars: ✭ 21 (-97.78%)
Mutual labels:  compression
St Cgan
Dataset and Code for our CVPR'18 paper ST-CGAN: "Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow Removal"
Stars: ✭ 13 (-98.63%)
Mutual labels:  image-processing
Playpixels
Swift Playground Book for learning image processing.
Stars: ✭ 14 (-98.52%)
Mutual labels:  image-processing
Imagery
Imagery simplifies image manipulations.
Stars: ✭ 27 (-97.15%)
Mutual labels:  image-processing
Drv3 Tools
(Not actively maintained, use DRV3-Sharp) Tools for extracting and re-injecting files for Danganronpa V3 for PC.
Stars: ✭ 13 (-98.63%)
Mutual labels:  compression
Bcnencoder.net
Cross-platform texture encoding libary for .NET. With support for BC1-3/DXT, BC4-5/RGTC and BC7/BPTC compression. Outputs files in ktx or dds formats.
Stars: ✭ 28 (-97.05%)
Mutual labels:  compression
Spark Edge Detection
Edge detection in Spark AR
Stars: ✭ 13 (-98.63%)
Mutual labels:  image-processing
Next Translate
Next.js plugin + i18n API for Next.js 10 🌍 - Load page translations and use them in an easy way!
Stars: ✭ 867 (-8.54%)
Mutual labels:  nextjs
Deep learning projects
Stars: ✭ 28 (-97.05%)
Mutual labels:  image-processing
Blitz Jobs
The first-ever Blitz.js job board.
Stars: ✭ 28 (-97.05%)
Mutual labels:  nextjs
Nextjs Sequelize
Next.js With Sequelize Web Application, a Full-Stack Web App Development Boilerplate. https://medium.com/@defrian.yarfi/next-js-with-sequelize-web-application-a-full-stack-web-development-a0051074e998
Stars: ✭ 21 (-97.78%)
Mutual labels:  nextjs

SUMMARY

Image compression full stack website code. Contains both api service and frontend written in node, react and next.js framework.

SCREENSHOTS

screen-one screen-two screen-three

SETTING UP GOOGLE CLOUD STORAGE

  1. Create a project on google cloud and add a free cloud storage bucket via this quickstart guide:
  2. Authenticate using either gcloud command line tool (download here) or set GOOGLE_APPLICATION_CREDENTIALS env variable with the service account file.

STARTING THE API SERVICE

  1. Create .env file in the root of the folder with the following variables. See dotenv on how to add env variables.
    • API_VERSION : 1 (optional).
    • GC_STORAGE : your-google-cloud-bucket-name
    • DL_BASE_URL : [YOUR-API-URL]/1/dl
  2. Do npm install to install all node modules for api.
  3. Do npm run dev to start the dev server on 3000 port.
  4. Do npm start for production

STARTING THE FRONTEND

  1. Do npm install to install all node modules for frontend.
  2. Do npm run dev will start the webpack server on 3001 port.
  3. Do npm run build and npm start to build and use the code in production.

NOTES

  1. Following programs are used for optimization

    • mozjpeg (lossy jpeg compression)
    • jpegtran (lossless jpeg compression)
    • pngquant (lossy png compression)
    • optipng (lossless png compression)
  2. Current file size upload limit is 10MB.

  3. API Routes. [POST]

    • /image: upload image(s) via file, URL, base64 or Binary.
      • file: file or base64 or binary.
      • lossy: Boolean (default: false)
    • /url: Compression direct image url.
      • url: valid image url.
    • /zip: Accepts list of files object as an array with (id, size and name) and send the zipped result.
      • files: list of files object as an array.

    [GET] - /dl/:id: Generate download url of compressed image. Accept optional query name.

LICENSE

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].