Organisation: CATROBAT
Project : π Click Here
Hello, I am Rama Devi, aka RD. With a foundation in a Bachelor's degree in Computer Science, I've honed my skills through self-directed learning as a developer. Currently, I'm augmenting my knowledge by pursuing an MBA at Anna University, paralleled by my Master's in Computer Applications (MCA). Fueled by a deep passion for programming, I embarked on my developer journey through web development, progressing into the realm of full-stack MERN development, I've nurtured a strong affection for crafting 3D interactive websites using Three.js. Over the course of the last two years, a deep-seated fondness for meticulously honing optimized solutions has unfurled. This expedition has guided me to fully engage in the sphere of Android development, predominantly utilizing Kotlin, to engineer robust and efficient applications.
During this GSoC duration, I collaborated on an aspiring project within the Catrobat organization known as PAINTROID an open-source graphical paint editor app, allowing setting parts of pictures to transparent, insert Text / Images, add Layers, use Color filling and picking tools, rotate, resize and position elements.
Project - Landing Page for Pocket Paint
During the summer of 2023, I had the opportunity to work on implementing the landing page for the Pocket Paint app on the Android Kotlin platform. The landing page serves as an art gallery view, allowing users to preview their saved artwork and easily select projects to continue editing or start new drawings. The design was meticulously aligned with the cohesive Pocket Code design, ensuring both consistency and user familiarity.
PR Accommodating the Following Tickets: https://github.com/Catrobat/Paintroid/pull/1288
- Create Landing Page ββββββββββββββΒ | Ticket
- Floating action buttons for landing page βββββΒ Β | Ticket
- Show all projects of the user in the landing page ββ | Ticket
PR Accommodating the Following Tickets: https://github.com/Catrobat/Paintroid/pull/1291
- Add main options to landing page ββββββββΒ Β | Ticket
- Designed the Landing Page to Mirror the Pocket Code's Aesthetic
- Implemented Project Preview Thumbnails
- Created Projects List Section
- Project Thumbnail
- Project Name
- Project Details
- CRUD Operations for Projects
- Integrated Floating Action Buttons
- Tech Stack: XML
- Implemented the Functionality to Save Projects
- Saved Projects as Catrobat Images
- Generated Project Images for Thumbnails
- Enabled Auto-Saving of Existing Projects upon Returning to Home
- Stored Projects in a Room Database
- Tech Stack: Kotlin, Room Database
- Followed Test-Driven Development Approach
- Adhered to Clean Code Practices
- Tech Stack: JUnit, Espresso
Paintroid Contributions [encompassing both GSoC and beyond]
Pull Requests
PR | Brief Description | Status |
---|---|---|
#1288 | Created Landing Page with Projects List | π§ In Review |
#1291 | Add main options to landing page | π§ In Review |
#1275 | Spraycan ignores alpha value | β Merged |
#1217 | Fixed MenuFileActivityIntegrationTests | β Merged |
#1215 | Fixed SaveCompressImageIntegrationTests | β Merged |
#1189 | Update app for android 13 | β Closed |
Community Bonding Period | Coding Period ββββββββββββββββββββ |
---|---|
May 5 _______:v: _______ May 29 | May 29 ____________________:computer: ______________________ September 4 |
Period | Activities and Achievements |
---|---|
May 5 to May 29 | - Worked on the prototype and laid the foundation for initial core functionalities. |
May 29 to June 10 | - Utilized the prototype and submitted the first PR - PR1288 for the landing page. |
June 10 to June 19 | - Pushed PR1291 for the Advanced Settings menu. |
June 19 to Sep 4 | - Focused on bug fixes, testing, refinements and reviewing changes. |
I want to express my heartfelt gratitude to my mentor, Thorsten Bandel, whose guidance began even before the GSoC period, starting from my initial contributions in January 2023. He provided invaluable support by offering code reviews, assigning tasks, and promptly addressing my queries despite his busy schedule.
I am deeply appreciative of Wolfgang Slany for founding and maintaining innovative projects like Pocket Paint, Luna, and others. Their efforts have created a nurturing environment for creativity and growth.
Massive thanks are due to Konstantin Fellner and Khaliq Nasrella for their contributions in testing the code and providing valuable feedback throughout the process. Their dedication has made the project welcoming for new contributors.
Contributing to this project has enabled me to gain insights into how organizations manage teams, communications, and tasks within a substantial project. I have witnessed how team members support each other, and I've honed my skills in designing front-end elements and integrating them with the back-end. Most importantly, I've had the opportunity to embrace test-driven development and the CI/CD process, which has exposed me to the intricacies of working on extensive projects.
I am grateful for the flexibility and freedom that allowed me to work comfortably, facilitated by the guidance of my mentor, Thorsten Bandel.
As I move forward, I am keen to maintain a connection with this project, given the invaluable experience it has provided me. I look forward to contributing in any way possible. I extend my gratitude to the remarkable teams at GSoC and Catrobat for this enriching experience.