Skip to content

Conversation

@Vuk7912
Copy link

@Vuk7912 Vuk7912 commented Jun 28, 2025

Implement Room Database Entity for Todo Items

Description

Task

Create Room database entity for Todo items

Acceptance Criteria

  • Define a Room database entity representing Todo items
  • Implement database schema with Room annotations
  • Support auto-generated primary key
  • Allow optional description and due date
  • Validate todo item title during creation
  • Provide default values for optional fields
  • Ensure type safety and null handling

Summary of Work

This pull request introduces the Room database entity for Todo items, establishing a robust and well-defined database schema for storing and managing todo items in the Android application.

Key Implementation Details:

  • Created TodoEntity data class with Room annotations
  • Defined comprehensive properties for todo items:
    • Unique auto-generated ID
    • Title (required, non-blank)
    • Optional description
    • Completion status
    • Creation timestamp
    • Optional due date

Entity Characteristics:

  • Uses @entity annotation with "todos" table name
  • Implements input validation via init block
  • Supports nullable and optional fields
  • Uses LocalDateTime for timestamp handling
  • Follows Room database best practices

Validation Implemented:

  • Enforces non-blank title during object creation
  • Prevents creation of todo items with empty titles
  • Provides default values for optional fields

Testing Approach:

  • Comprehensive unit tests covering:
    • Valid todo item creation
    • Full details todo item creation
    • Title validation (preventing blank/whitespace titles)
    • Default value assertions

Changes Made

  • Created TodoEntity.kt with Room database entity definition
  • Added Room annotations for database mapping
  • Implemented input validation for todo item creation
  • Defined comprehensive properties for todo items

Tests

  • Unit test for creating todo item with valid title
  • Unit test for creating todo item with full details
  • Unit test to prevent todo item creation with blank title
  • Unit test to prevent todo item creation with whitespace title

Signatures

Staking Key

3oBzgQ4y8YtmkxYGkse1fKKefi25twpMKU9BBdsYtjDQ: 5AUWtGj7daydsGDkWFMEwbKBKEgWBtbfQ8K3YbyVk6E48zK34J3F2xPEbYAj3U34Zh1h5Rp3y8yt2kxdGNYKkhz7Wgs5d6tMXPV7pa3XpXxHRXFyVVRfwYuwy3YzhnTF1fqdRxUVn6u5DKZQhUzFxjuSeaBeLmVqzXtV8P7g5gBmVe9y1461uKYa5U35JEJ6KPFTtbAQcLA2mgAuoeTKbsCH7eVn6tiqkbekrSHFmRwysjKosk6PL1z5ikEPyE3wb3N7fYZbgeZLXWkh6ALTCggLHHj7UD439yNYbNZMCgvfT5iTqUsBrCCSiejqaqA1CNep9GAWUKop7QPknTPPcKPadATqz5opJjp25b6fjyLDrqhSLpYz4EHU8Zyrb39qRMkEZUcPtsXvtZpLfMQGDcsyfTtdzEVSC

Public Key

4WA5vRJLthsg6sJqVc6DQuRkGzvoxZ11SkqzwbqxCo2V: kzZF42XRndGjmxa1LjBDqXQwftKxMjc3nHYxW9qsdEyq89JKbUAbzJNMY5ycqJTvjHktUdnXD8Dz3fCNtXh58qPXWk6uH69f2hYcsXovnbnucRYc7iuwqK6LpeubVnnTTvWqwsVyzFXZCbBsnYFjcG6XfscuG1r8WMxAt2sLCzNkVgKrVvngm1DMc98GdPnH9RYJ46NUezRToJ7o8bT19XBm3JMpVRMvn4dC6PPBSHC9P7ZpDZcLom4SmBkg93KD2wjLh1Je5uxrAjyERX8SZ1ujSVYTmLfTRYQ1DNHiwttYGgxRhYqZXAzHvuuGkXEYcZRpmKnryJ9LWiWhxzYWuazvBKSaNJ3cjMPytL3HoucafKUSAv3L9zESR8JNjsKz5Jc2h9gnKm9FJxmKEW3JAcZ3CYdLMd2c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant