Features
My partner and I took inspiration from the photo editors we'd used growing up and built a working version with a proper graphical UI. A few things we paid close attention to:
- Upload support for PPM, JPEG, PNG, and other common image types
- Filters, effects, and image downscaling
- Layered images and effects, applied non-destructively
- Saving and loading the entire project
- Exporting individual layers
- A GUI that tries to stay out of your way
What I got out of it
- Designing graphical user interfaces with Java Swing
- Breaking down complex functionality into well-shaped helpers
- Building a flexible program that's easy for future developers to extend
- Collaborating closely with a partner on a shared codebase
Built as part of Northeastern's
Object Oriented Design
course.