Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/santiagoguty/paint-p

Paint-P is a versatile JavaFX-based painting application offering essential drawing tools, multi-tab canvases, and dynamic shape, text, and edit features. With support for image manipulation, multiple file formats, and a server feature for real-time remote canvas access, Paint-P is designed for a seamless and customizable digital drawing experience
https://github.com/santiagoguty/paint-p

digital-drawing java javafx

Last synced: 5 days ago
JSON representation

Paint-P is a versatile JavaFX-based painting application offering essential drawing tools, multi-tab canvases, and dynamic shape, text, and edit features. With support for image manipulation, multiple file formats, and a server feature for real-time remote canvas access, Paint-P is designed for a seamless and customizable digital drawing experience

Awesome Lists containing this project

README

        

# Paint-P

**Paint-P** is a versatile and feature-rich art tool application inspired by Microsoft Paint, designed to provide enhanced customization, intuitive controls, and powerful functionality. Built with **JavaFX**, Paint-P introduces innovative tools and features that elevate the user experience for casual drawing, graph creation, and advanced design tasks.

## Key Features

- **Extensive Drawing Tools**: Includes shapes, text, polygons with customizable number of sides, and freehand tools, with customizable stroke styles, fill options, and color pickers.
- **Image Manipulation**: Supports importing, editing, and exporting images in multiple formats, with options for rotation, flipping, resizing, and cropping.
- **Dynamic Canvas Management**: Multi-tab canvas system allowing independent editing across canvases, with live drawing previews and undo/redo functionality.
- **Advanced Customization**: Includes adjustable line widths, font styles, shape filling, and dynamic font sizing based on drag dimensions.
- **Enhanced Usability**: Keyboard shortcuts that make the interaction with the configurations seamless.
- **Web Integration**: Embedded web server feature for displaying canvases online.
- **Data Persistence**: Save and restore projects with detailed notifications and warnings for lossy image formats.

## Development
- **CS-250**: This project was the pillar of the Object Oriented Programming class **CS-250**
- **Agile Methodology**: Divided into **seven sprints**, focusing on incremental improvements and rigorous testing throughout the development lifecycle.
- **Codebase**: Over **5,000 lines of code** across multiple classes and modules, leveraging object-oriented principles for scalability.
- **Testing & Quality Assurance**: Comprehensive **unit testing** to ensure functionality and reliability, accompanied by logging for debugging and user tracking.

## Technologies Used

- **JavaFX 23**
- **JDK 21**
- **Maven**
- **IntelliJ IDEA**

# ***Always Painting-P***

Demo video:
* https://youtu.be/5Bz2W9a7eN4

![image](https://github.com/user-attachments/assets/eeb359e9-59b7-4c1f-b46f-89634decbbde)