Overview

Pixel Create

Summary of in-progress or completed project.

Page contents

Summary

Pixel Create is a mobile Android application designed to let users create retro-styled pixel art through an intuitive touch-based interface. The app centers on a customizable drawing canvas where each pixel can be edited individually, allowing for precise artwork reminiscent of classic video game graphics. Users can start new projects, reopen saved projects, and even duplicate existing pieces to experiment with different styles without losing their work. The drawing experience includes essential tools such as tap‑to‑color, drag‑to‑draw, fill, erase, and a color picker, supported by undo/redo and zooming for fine‑detail work. A flexible color system allows users to build and reuse custom palettes, ensuring consistency across their artwork.

Intended users and user stories

The Hobby Artist

People who enjoy drawing casually and want a simple, relaxing creative outlet.

User Stories:

Why they care:

Retro Game Enthusiasts

Fans of classic games or people who want to create sprites for fun.

User Stories:

Why they care:

Indie Game Developers (Beginner Level)

Students or hobbyists building small games who need simple sprite creation.

User Stories:

Why they care:

Functionality

Note: Autosave and export history features may be considered stretch goals given the project timeline and the number of entities involved.

🎨 Canvas and Drawing Capabilities

These functions define how users create and manipulate pixel art on the canvas.

🎨 Color and Palette Management

These functions support color selection and consistency across projects.

💾 Project Storage and Data Persistence

These functions ensure users can save, load, and manage their artwork reliably.

These functions create a dynamic, user‑friendly home screen.

Persistent data

All persistent data is managed using Room Database with entity classes that represent the database schema. Each entity has a corresponding Data Access Object (DAO) interface providing database operations. For complete entity class and DAO documentation with source code links, see the Entity Classes page. For visual representations, see the Entity-Relationship Diagram and UML Class Diagram.

📁 Core Project Data

This is the essential information needed to reconstruct a user’s artwork on any device.

🎨 Color and Palette Data

Color information supports consistent creative workflows.

The server can maintain a structured view of all user projects.

💾 Export and Sharing Data

If the app supports exporting or sharing artwork online, the server may store:

👤 User Profile and Settings

These settings personalize the experience across devices.

Device/external services

Camera Access

Documentation: CameraX

How the app uses it:

Permission needed: android.permission.CAMERA

Impact if unavailable: Camera-based features (photo capture, pixelation filters) would be disabled. Core drawing and project management features would remain functional.

MediaStore (External Storage Access)

Documentation: Shared Storage with MediaStore

How the app uses it:

Permissions (depending on Android version):

Impact if unavailable: Users cannot export artwork to their device gallery or import external images. Projects can still be saved within the app’s internal storage.

Notification Service

Documentation: Notifications Overview

How the app uses it:

Permission needed (Android 13+): POST_NOTIFICATIONS

Impact if unavailable: Users won’t receive visual notifications about background operations. The app remains fully functional without notifications.

Stretch Goals and Possible Enhancements

📸 Device Integration (Functionality Stretch Goal)

These functions enhance creativity by connecting with device hardware and media. • Image import — Load images from device storage as reference layers. • Camera capture — Take a photo and convert it into pixel art. • Pixelation filter — Automatically reduce an image to pixel‑style blocks. • Notifications — Alert users when autosave or export completes

🧩 Advanced Creative Tools (Functionality Stretch Goal)

These functions support more sophisticated pixel‑art workflows.

📸 Optional Device‑Integrated Content (Data Stretch Goal)

If we implement camera or import features, the server may store:

🧩 Advanced Creative Features (Data Stretch Goal)

If we add simple animation frames or collaboration, the server may maintain:

Vibration / Haptics (Persistence Stretch Goal)

🌐 Internet Access (Persistence Stretch Goal)

Only needed if we add:

📊 Analytics or Crash Reporting (Persistence Stretch Goal)

If we add:

SQLite / Room Database

Documentation: Room Persistence Library

How the app uses it:

Impact if unavailable: The app cannot function without Room Database. All persistent project storage, user settings, and artwork data depend on it.

Photo Picker

Documentation: Photo Picker

How the app uses it:

Impact if unavailable: Users cannot import external images as references. All other features remain functional.