Skip to content

RutujChheda/photofiltersapp

Repository files navigation

Photo Filters App

This is a sample Java application that allows users to apply different filters to their photos. The application allows users to load an image from their local file system, apply filters to the image, and save the filtered image back to their local file system. Currently, the application supports the following filters:

  • Grayscale
  • Sepia
  • Invert

Application Preview

Key Features

  • User-Friendly Interface: Built with Java Swing for a familiar and intuitive experience.
  • Image Manipulation: Leverages Java AWT for efficient image processing.
  • Clean Architecture: Employs the Model-View-Controller (MVC) pattern for well-organized code.
  • Dependency Injection: Uses Dagger for streamlined dependency management.
  • Build Automation: Powered by Gradle for easy project setup and management.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Java 8 or higher
  • Gradle

Installation

  1. Clone the repository
git clone https://github.com/RutujChheda/photofiltersapp.git
  1. Navigate to the project directory
cd photofiltersapp
  1. Build the project
   gradle build
  1. Usage
   gradle run

Architecture Diagrams

PhotoFiltersApp Structure

PhotoConverterManualTester Structure Project Structure

PhotoFiltersApp Main Calls

PhotoConverterManualTester Main Calls Project Calls Sequence

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

How to Contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with clear descriptions.
  4. Push your changes to your fork.

About

This is a demonstration of a simple Photo Filters App written in Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages