Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahmedsobhy01/kids-art
An exciting C++ drawing and painting program created to foster creativity and learning among children, developed as a part of the Programming Techniques course during our first year of Computer Engineering at Cairo University
https://github.com/ahmedsobhy01/kids-art
cpp design-patterns gui object-oriented-programming painting
Last synced: 20 days ago
JSON representation
An exciting C++ drawing and painting program created to foster creativity and learning among children, developed as a part of the Programming Techniques course during our first year of Computer Engineering at Cairo University
- Host: GitHub
- URL: https://github.com/ahmedsobhy01/kids-art
- Owner: AhmedSobhy01
- License: mit
- Created: 2023-10-30T14:55:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-09T20:08:21.000Z (11 months ago)
- Last Synced: 2024-11-07T04:13:41.392Z (2 months ago)
- Topics: cpp, design-patterns, gui, object-oriented-programming, painting
- Language: C
- Homepage:
- Size: 1.94 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# KidsArt: C++ Drawing Program (Paint for Kids) 🎨
Welcome to KidsArt, an exciting C++ drawing and painting program created to foster creativity and learning among children. Developed as a part of the Programming Techniques course during our first year of Computer Engineering at Cairo University, KidsArt is more than just a drawing tool; it's an interactive and educational experience for young minds.
## Features 🚀
- **Drawing Shapes:** Kids can unleash their imagination by drawing various shapes, including circles, hexagons, rectangles, squares, and triangles.
- **Color Customization:** The application allows users to customize the outline color and background color, providing endless possibilities for artistic expression.
- **Shape Manipulation:** Children can easily move and resize shapes by dragging, encouraging experimentation and spatial awareness.
- **Undo & Redo:** KidsArt incorporates an intuitive undo and redo functionality, allowing young artists to correct mistakes and experiment fearlessly.
- **Recording Functionality:** The program features a recording option, enabling children to capture their entire drawing process.
- **Save & Load:** Drawings can be saved to a file for future reference, fostering a sense of accomplishment, and loaded whenever children want to continue their creative work.
- **Play Mode:** In Play Mode, KidsArt becomes an educational tool, engaging children with questions about their drawings. This mode adds an element of fun while enhancing their cognitive skills.
## Screenshots 🖼️
![App Screenshot 1](https://i.imgur.com/0UWh32d.png)
![App Screenshot 2](https://i.imgur.com/LUqtXfJ.png)## About Us 🙌
This project was a collaborative effort by a team of four enthusiastic computer engineering students from Cairo University. As a pivotal assignment in our "Programming Techniques" course, KidsArt gave us practical insights into applying Object-Oriented Programming (OOP) principles in a real-world project.
## Team Members 👩💻
- **[Ahmed Amr Nabil](https://github.com/AhmedAmrNabil )**
- **[Ahmed Mohamed Sobhy](https://github.com/AhmedSobhy01)**
- **[Loay Ahmed Mohamed](https://github.com/LoayAhmed304 )**
- **[Omar Nabil Abdelsadek](https://github.com/OmarNabil005)**## Learning Highlights 📚
- **Object-Oriented Programming (OOP):** KidsArt is a testament to our understanding and application of OOP concepts, demonstrating how they can be effectively employed to model shapes, actions, and the overall structure of an application.
- **Static & Dynamic Binding:** Through developing the drawing tool, we gained hands-on experience with both static and dynamic binding in C++.
- **Action Design Pattern:** The implementation of the Action design pattern in the application manager showcases our ability to handle various user interactions efficiently.
## Getting Started 🛠️
To run KidsArt on your machine, follow these steps:
1. Clone the repository to your local machine.
2. Compile the source code using a C++ compiler.
3. Run the executable file to launch KidsArt.## License 📝
This project is licensed under the [MIT License](LICENSE), granting you the freedom to use and modify the code for personal or educational purposes.
## Acknowledgments 🙏
We sincerely thank our professor & our TAs for guiding us through this project and providing invaluable insights into programming techniques and design patterns.