├── .devcontainer ├── .dockerignore ├── Dockerfile ├── Dockerfile.base ├── devcontainer.json └── requirements-dev.txt ├── .docker └── config.json ├── .dockerignore ├── .docs ├── dev-doc.md └── devdoc.md ├── .gitattributes ├── .github ├── dependabot.yml └── workflows │ ├── ci-auto-merge.yml │ ├── deploy-dev-container-image.yml │ └── deploy.yml ├── .gitignore ├── .idea ├── .gitignore ├── aws.xml ├── forwardedPorts.xml ├── imgcompress.iml ├── inspectionProfiles │ └── profiles_settings.xml ├── misc.xml ├── modules.xml └── vcs.xml ├── .vscode └── launch.json ├── Dockerfile ├── LICENSE ├── ReadMe.md ├── backend ├── __init__.py └── image_converter │ ├── __init__.py │ ├── application │ ├── __init__.py │ ├── compress_images_usecase.py │ ├── dtos.py │ └── file_payload_expander.py │ ├── bootstraper.py │ ├── core │ ├── __init__.py │ ├── enums │ │ ├── __init__.py │ │ ├── conversion_error.py │ │ ├── image_format.py │ │ └── log_level.py │ ├── exceptions.py │ ├── factory │ │ ├── __init__.py │ │ ├── converter_factory.py │ │ ├── ico_converter.py │ │ ├── jpeg_converter.py │ │ └── png_converter.py │ ├── image_convertsion_processor.py │ ├── interfaces │ │ ├── __init__.py │ │ └── iconverter.py │ └── internals │ │ ├── __init__.py │ │ ├── file_manager.py │ │ ├── image_loader.py │ │ └── utls.py │ ├── domain │ ├── __init__.py │ ├── image_resizer.py │ ├── size_targeting.py │ └── units.py │ ├── infrastructure │ ├── __init__.py │ ├── cleanup_service.py │ ├── file_repository.py │ ├── local_storage.py │ ├── logger.py │ ├── pdf_page_extractor.py │ └── pillow_jpeg_converter.py │ └── presentation │ ├── __init__.py │ ├── cli │ ├── __init__.py │ ├── app.py │ └── argument_parser.py │ └── web │ ├── __init__.py │ ├── error_handlers.py │ ├── parse_services.py │ ├── routes.py │ ├── server.py │ └── static_routes.py ├── docker-compose.yml ├── entrypoint.sh ├── frontend ├── .gitignore ├── .idea │ ├── .gitignore │ ├── frontend.iml │ ├── inspectionProfiles │ │ └── Project_Default.xml │ ├── modules.xml │ └── vcs.xml ├── README.md ├── components.json ├── eslint.config.mjs ├── next.config.ts ├── package-lock.json ├── package.json ├── playwright.config.ts ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public │ ├── Author.txt │ ├── mascot.jpg │ ├── mascot_dark.jpg │ └── release-notes.md ├── src │ ├── app │ │ ├── favicon.ico │ │ ├── globals.css │ │ ├── layout.tsx │ │ └── page.tsx │ ├── components │ │ ├── BackendStatusBanner.tsx │ │ ├── CompressedFilesDrawer.tsx │ │ ├── CustomToast.tsx │ │ ├── ErrorModal.tsx │ │ ├── FileConversionForm.tsx │ │ ├── PageFooter.tsx │ │ ├── ReleaseNotesButton.tsx │ │ ├── StorageFileManager.tsx │ │ ├── SupportedFormatsDialog.tsx │ │ ├── theme-provider.tsx │ │ ├── theme-toggle.tsx │ │ ├── ui │ │ │ ├── alert-dialog.tsx │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ ├── dialog.tsx │ │ │ ├── drawer.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── switch.tsx │ │ │ └── tooltip.tsx │ │ └── visually-hidden.tsx │ ├── context │ │ └── ErrorStore.tsx │ ├── hooks │ │ ├── useBackendHealth.ts │ │ └── useSupportedExtensions.ts │ ├── lib │ │ ├── helpers.ts │ │ └── utils.ts │ └── models │ │ └── ErrorMessage.ts ├── tailwind.config.ts ├── tests │ └── e2e │ │ ├── backendIsUpAndRunningHealth_Test.spec.ts │ │ ├── convertWithoutFilesErrorMessage_Test.spec.ts │ │ ├── fixtures │ │ └── sample-images │ │ │ ├── 37443511_8499861.psd │ │ │ ├── IMG_0935.heic │ │ │ ├── ImagesCredit.md │ │ │ ├── ico-datei.png │ │ │ ├── imgcompress_multipage_test.pdf │ │ │ ├── imgcompress_screenshot.pdf │ │ │ ├── pexels-pealdesign-28594392.jpg │ │ │ ├── pexels-willianjusten-29944187.jpg │ │ │ └── vecteezy_new-update-logo-template-illustration_5412356-0.eps │ │ ├── ico_Test.spec.ts │ │ ├── jpeg_SetByFileSize_Download_Test.spec.ts │ │ ├── multiFileDownload_WithResize_Test.spec.ts │ │ ├── multiFileDownload_WithoutResize_Test.spec.ts │ │ ├── pdf_PageExport_Test.spec.ts │ │ ├── removeFileFromDropzone_Test.spec.ts │ │ ├── singleFileDownload_WithResize_Test.spec.ts │ │ └── utls │ │ ├── DownloadType.ts │ │ ├── ImageFileDto.ts │ │ ├── downloadHelper.ts │ │ └── helpers.ts └── tsconfig.json ├── images ├── donate_qr.png ├── imgcompress_logo.jpg └── web-ui.gif ├── requirements.txt ├── run-e2e.sh ├── runLocalDockerBuildTester.sh ├── runStartLocalBackend.sh ├── runStartLocalFrontend.sh ├── runTests.sh ├── setup.py ├── tests ├── __init__.py ├── integration │ ├── __init__.py │ └── test_image_conversion_integration_docker.py ├── sample-images │ ├── 37443511_8499861.psd │ ├── IMG_0935.heic │ ├── ImagesCredit.md │ ├── imgcompress_screenshot.pdf │ ├── pexels-pealdesign-28594392.jpg │ ├── pexels-willianjusten-29944187.jpg │ └── vecteezy_new-update-logo-template-illustration_5412356-0.eps ├── test_utils.py └── unit │ ├── __init__.py │ ├── test_converters.py │ ├── test_image_resizer.py │ ├── test_pdf_support.py │ ├── test_result_pattern.py │ └── test_unit.py └── update_dockerhub_description.py /.devcontainer/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.devcontainer/.dockerignore -------------------------------------------------------------------------------- /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.devcontainer/Dockerfile -------------------------------------------------------------------------------- /.devcontainer/Dockerfile.base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.devcontainer/Dockerfile.base -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.devcontainer/requirements-dev.txt -------------------------------------------------------------------------------- /.docker/config.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.dockerignore -------------------------------------------------------------------------------- /.docs/dev-doc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.docs/dev-doc.md -------------------------------------------------------------------------------- /.docs/devdoc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.docs/devdoc.md -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci-auto-merge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.github/workflows/ci-auto-merge.yml -------------------------------------------------------------------------------- /.github/workflows/deploy-dev-container-image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.github/workflows/deploy-dev-container-image.yml -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/aws.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.idea/aws.xml -------------------------------------------------------------------------------- /.idea/forwardedPorts.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.idea/forwardedPorts.xml -------------------------------------------------------------------------------- /.idea/imgcompress.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.idea/imgcompress.iml -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.idea/inspectionProfiles/profiles_settings.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/LICENSE -------------------------------------------------------------------------------- /ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/ReadMe.md -------------------------------------------------------------------------------- /backend/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/application/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/application/compress_images_usecase.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/application/compress_images_usecase.py -------------------------------------------------------------------------------- /backend/image_converter/application/dtos.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/application/dtos.py -------------------------------------------------------------------------------- /backend/image_converter/application/file_payload_expander.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/application/file_payload_expander.py -------------------------------------------------------------------------------- /backend/image_converter/bootstraper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/bootstraper.py -------------------------------------------------------------------------------- /backend/image_converter/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/core/enums/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/core/enums/conversion_error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/enums/conversion_error.py -------------------------------------------------------------------------------- /backend/image_converter/core/enums/image_format.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/enums/image_format.py -------------------------------------------------------------------------------- /backend/image_converter/core/enums/log_level.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/enums/log_level.py -------------------------------------------------------------------------------- /backend/image_converter/core/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/exceptions.py -------------------------------------------------------------------------------- /backend/image_converter/core/factory/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/core/factory/converter_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/factory/converter_factory.py -------------------------------------------------------------------------------- /backend/image_converter/core/factory/ico_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/factory/ico_converter.py -------------------------------------------------------------------------------- /backend/image_converter/core/factory/jpeg_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/factory/jpeg_converter.py -------------------------------------------------------------------------------- /backend/image_converter/core/factory/png_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/factory/png_converter.py -------------------------------------------------------------------------------- /backend/image_converter/core/image_convertsion_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/image_convertsion_processor.py -------------------------------------------------------------------------------- /backend/image_converter/core/interfaces/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/core/interfaces/iconverter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/interfaces/iconverter.py -------------------------------------------------------------------------------- /backend/image_converter/core/internals/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/core/internals/file_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/internals/file_manager.py -------------------------------------------------------------------------------- /backend/image_converter/core/internals/image_loader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/internals/image_loader.py -------------------------------------------------------------------------------- /backend/image_converter/core/internals/utls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/core/internals/utls.py -------------------------------------------------------------------------------- /backend/image_converter/domain/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/domain/image_resizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/domain/image_resizer.py -------------------------------------------------------------------------------- /backend/image_converter/domain/size_targeting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/domain/size_targeting.py -------------------------------------------------------------------------------- /backend/image_converter/domain/units.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/domain/units.py -------------------------------------------------------------------------------- /backend/image_converter/infrastructure/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/infrastructure/cleanup_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/infrastructure/cleanup_service.py -------------------------------------------------------------------------------- /backend/image_converter/infrastructure/file_repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/infrastructure/file_repository.py -------------------------------------------------------------------------------- /backend/image_converter/infrastructure/local_storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/infrastructure/local_storage.py -------------------------------------------------------------------------------- /backend/image_converter/infrastructure/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/infrastructure/logger.py -------------------------------------------------------------------------------- /backend/image_converter/infrastructure/pdf_page_extractor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/infrastructure/pdf_page_extractor.py -------------------------------------------------------------------------------- /backend/image_converter/infrastructure/pillow_jpeg_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/infrastructure/pillow_jpeg_converter.py -------------------------------------------------------------------------------- /backend/image_converter/presentation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/presentation/cli/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/presentation/cli/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/presentation/cli/app.py -------------------------------------------------------------------------------- /backend/image_converter/presentation/cli/argument_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/presentation/cli/argument_parser.py -------------------------------------------------------------------------------- /backend/image_converter/presentation/web/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/image_converter/presentation/web/error_handlers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/presentation/web/error_handlers.py -------------------------------------------------------------------------------- /backend/image_converter/presentation/web/parse_services.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/presentation/web/parse_services.py -------------------------------------------------------------------------------- /backend/image_converter/presentation/web/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/presentation/web/routes.py -------------------------------------------------------------------------------- /backend/image_converter/presentation/web/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/presentation/web/server.py -------------------------------------------------------------------------------- /backend/image_converter/presentation/web/static_routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/backend/image_converter/presentation/web/static_routes.py -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/entrypoint.sh -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/.idea/.gitignore -------------------------------------------------------------------------------- /frontend/.idea/frontend.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/.idea/frontend.iml -------------------------------------------------------------------------------- /frontend/.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/.idea/inspectionProfiles/Project_Default.xml -------------------------------------------------------------------------------- /frontend/.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/.idea/modules.xml -------------------------------------------------------------------------------- /frontend/.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/.idea/vcs.xml -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/components.json -------------------------------------------------------------------------------- /frontend/eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/eslint.config.mjs -------------------------------------------------------------------------------- /frontend/next.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/next.config.ts -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/package-lock.json -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/playwright.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/playwright.config.ts -------------------------------------------------------------------------------- /frontend/pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/pnpm-lock.yaml -------------------------------------------------------------------------------- /frontend/postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/postcss.config.mjs -------------------------------------------------------------------------------- /frontend/public/Author.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/public/Author.txt -------------------------------------------------------------------------------- /frontend/public/mascot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/public/mascot.jpg -------------------------------------------------------------------------------- /frontend/public/mascot_dark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/public/mascot_dark.jpg -------------------------------------------------------------------------------- /frontend/public/release-notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/public/release-notes.md -------------------------------------------------------------------------------- /frontend/src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/app/favicon.ico -------------------------------------------------------------------------------- /frontend/src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/app/globals.css -------------------------------------------------------------------------------- /frontend/src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/app/layout.tsx -------------------------------------------------------------------------------- /frontend/src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/app/page.tsx -------------------------------------------------------------------------------- /frontend/src/components/BackendStatusBanner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/BackendStatusBanner.tsx -------------------------------------------------------------------------------- /frontend/src/components/CompressedFilesDrawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/CompressedFilesDrawer.tsx -------------------------------------------------------------------------------- /frontend/src/components/CustomToast.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/CustomToast.tsx -------------------------------------------------------------------------------- /frontend/src/components/ErrorModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ErrorModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/FileConversionForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/FileConversionForm.tsx -------------------------------------------------------------------------------- /frontend/src/components/PageFooter.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/PageFooter.tsx -------------------------------------------------------------------------------- /frontend/src/components/ReleaseNotesButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ReleaseNotesButton.tsx -------------------------------------------------------------------------------- /frontend/src/components/StorageFileManager.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/StorageFileManager.tsx -------------------------------------------------------------------------------- /frontend/src/components/SupportedFormatsDialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/SupportedFormatsDialog.tsx -------------------------------------------------------------------------------- /frontend/src/components/theme-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/theme-provider.tsx -------------------------------------------------------------------------------- /frontend/src/components/theme-toggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/theme-toggle.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/alert-dialog.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/button.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/card.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/dialog.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/drawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/drawer.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/input.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/label.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/popover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/popover.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/progress.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/select.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/separator.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/switch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/switch.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/ui/tooltip.tsx -------------------------------------------------------------------------------- /frontend/src/components/visually-hidden.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/components/visually-hidden.tsx -------------------------------------------------------------------------------- /frontend/src/context/ErrorStore.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/context/ErrorStore.tsx -------------------------------------------------------------------------------- /frontend/src/hooks/useBackendHealth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/hooks/useBackendHealth.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useSupportedExtensions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/hooks/useSupportedExtensions.ts -------------------------------------------------------------------------------- /frontend/src/lib/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/lib/helpers.ts -------------------------------------------------------------------------------- /frontend/src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/lib/utils.ts -------------------------------------------------------------------------------- /frontend/src/models/ErrorMessage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/src/models/ErrorMessage.ts -------------------------------------------------------------------------------- /frontend/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tailwind.config.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/backendIsUpAndRunningHealth_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/backendIsUpAndRunningHealth_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/convertWithoutFilesErrorMessage_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/convertWithoutFilesErrorMessage_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/37443511_8499861.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/37443511_8499861.psd -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/IMG_0935.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/IMG_0935.heic -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/ImagesCredit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/ImagesCredit.md -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/ico-datei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/ico-datei.png -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/imgcompress_multipage_test.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/imgcompress_multipage_test.pdf -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/imgcompress_screenshot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/imgcompress_screenshot.pdf -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/pexels-pealdesign-28594392.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/pexels-pealdesign-28594392.jpg -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/pexels-willianjusten-29944187.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/pexels-willianjusten-29944187.jpg -------------------------------------------------------------------------------- /frontend/tests/e2e/fixtures/sample-images/vecteezy_new-update-logo-template-illustration_5412356-0.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/fixtures/sample-images/vecteezy_new-update-logo-template-illustration_5412356-0.eps -------------------------------------------------------------------------------- /frontend/tests/e2e/ico_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/ico_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/jpeg_SetByFileSize_Download_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/jpeg_SetByFileSize_Download_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/multiFileDownload_WithResize_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/multiFileDownload_WithResize_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/multiFileDownload_WithoutResize_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/multiFileDownload_WithoutResize_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/pdf_PageExport_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/pdf_PageExport_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/removeFileFromDropzone_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/removeFileFromDropzone_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/singleFileDownload_WithResize_Test.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/singleFileDownload_WithResize_Test.spec.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/utls/DownloadType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/utls/DownloadType.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/utls/ImageFileDto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/utls/ImageFileDto.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/utls/downloadHelper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/utls/downloadHelper.ts -------------------------------------------------------------------------------- /frontend/tests/e2e/utls/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tests/e2e/utls/helpers.ts -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/frontend/tsconfig.json -------------------------------------------------------------------------------- /images/donate_qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/images/donate_qr.png -------------------------------------------------------------------------------- /images/imgcompress_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/images/imgcompress_logo.jpg -------------------------------------------------------------------------------- /images/web-ui.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/images/web-ui.gif -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/requirements.txt -------------------------------------------------------------------------------- /run-e2e.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/run-e2e.sh -------------------------------------------------------------------------------- /runLocalDockerBuildTester.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/runLocalDockerBuildTester.sh -------------------------------------------------------------------------------- /runStartLocalBackend.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/runStartLocalBackend.sh -------------------------------------------------------------------------------- /runStartLocalFrontend.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/runStartLocalFrontend.sh -------------------------------------------------------------------------------- /runTests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/runTests.sh -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/test_image_conversion_integration_docker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/integration/test_image_conversion_integration_docker.py -------------------------------------------------------------------------------- /tests/sample-images/37443511_8499861.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/sample-images/37443511_8499861.psd -------------------------------------------------------------------------------- /tests/sample-images/IMG_0935.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/sample-images/IMG_0935.heic -------------------------------------------------------------------------------- /tests/sample-images/ImagesCredit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/sample-images/ImagesCredit.md -------------------------------------------------------------------------------- /tests/sample-images/imgcompress_screenshot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/sample-images/imgcompress_screenshot.pdf -------------------------------------------------------------------------------- /tests/sample-images/pexels-pealdesign-28594392.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/sample-images/pexels-pealdesign-28594392.jpg -------------------------------------------------------------------------------- /tests/sample-images/pexels-willianjusten-29944187.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/sample-images/pexels-willianjusten-29944187.jpg -------------------------------------------------------------------------------- /tests/sample-images/vecteezy_new-update-logo-template-illustration_5412356-0.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/sample-images/vecteezy_new-update-logo-template-illustration_5412356-0.eps -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/test_converters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/unit/test_converters.py -------------------------------------------------------------------------------- /tests/unit/test_image_resizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/unit/test_image_resizer.py -------------------------------------------------------------------------------- /tests/unit/test_pdf_support.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/unit/test_pdf_support.py -------------------------------------------------------------------------------- /tests/unit/test_result_pattern.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/unit/test_result_pattern.py -------------------------------------------------------------------------------- /tests/unit/test_unit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/tests/unit/test_unit.py -------------------------------------------------------------------------------- /update_dockerhub_description.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/karimz1/imgcompress/HEAD/update_dockerhub_description.py --------------------------------------------------------------------------------