eashish93 / Imgsquash
Licence: mit
Simple image compression full website code written in node, react and next.js framework. Easy to deploy as a microservice.
Stars: ✭ 948
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
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
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
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
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
SETTING UP GOOGLE CLOUD STORAGE
- Create a project on google cloud and add a free cloud storage bucket via this quickstart guide:
- Authenticate using either
gcloud
command line tool (download here) or setGOOGLE_APPLICATION_CREDENTIALS
env variable with the service account file.- Guide here: https://cloud.google.com/sdk/docs/authorizing
STARTING THE API SERVICE
- 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
-
API_VERSION :
- Do
npm install
to install all node modules for api. - Do
npm run dev
to start the dev server on3000
port. - Do
npm start
for production
STARTING THE FRONTEND
- Do
npm install
to install all node modules for frontend. - Do
npm run dev
will start the webpack server on3001
port. - Do
npm run build
andnpm start
to build and use the code in production.
NOTES
-
Following programs are used for optimization
- mozjpeg (lossy jpeg compression)
- jpegtran (lossless jpeg compression)
- pngquant (lossy png compression)
- optipng (lossless png compression)
-
Current file size upload limit is 10MB.
-
API Routes. [POST]
-
/image
: upload image(s) via file, URL, base64 or Binary.- file:
file
orbase64
orbinary
. - lossy:
Boolean
(default: false)
- file:
-
/url
: Compression direct image url.- url: valid image url.
-
/zip
: Accepts list of files object as an array with (id
,size
andname
) and send the zipped result.- files: list of files object as an array.
[GET] -
/dl/:id
: Generate download url of compressed image. Accept optional queryname
. -
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].