{"id":15069132,"url":"https://github.com/shade-sdev/secvault","last_synced_at":"2026-01-03T03:50:05.295Z","repository":{"id":251319694,"uuid":"837045459","full_name":"shade-sdev/SecVault","owner":"shade-sdev","description":"A Password Manager built with Jetpack Compose","archived":false,"fork":false,"pushed_at":"2024-10-24T12:09:22.000Z","size":1867,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-24T23:07:30.667Z","etag":null,"topics":["desktop-app","jetpack-compose","jvm","koin-kotlin","kotlin","material-ui","modern-ui","mvvm-architecture","password-manager","voyager-navigation"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shade-sdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-02T05:19:13.000Z","updated_at":"2024-10-24T12:09:26.000Z","dependencies_parsed_at":"2024-08-15T18:31:08.428Z","dependency_job_id":"e99a55a6-16dd-440a-9c30-dbb373278e20","html_url":"https://github.com/shade-sdev/SecVault","commit_stats":null,"previous_names":["shade-sdev/secvault"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shade-sdev%2FSecVault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shade-sdev%2FSecVault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shade-sdev%2FSecVault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shade-sdev%2FSecVault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shade-sdev","download_url":"https://codeload.github.com/shade-sdev/SecVault/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243837021,"owners_count":20355814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-app","jetpack-compose","jvm","koin-kotlin","kotlin","material-ui","modern-ui","mvvm-architecture","password-manager","voyager-navigation"],"created_at":"2024-09-25T01:40:39.019Z","updated_at":"2026-01-03T03:50:05.247Z","avatar_url":"https://github.com/shade-sdev.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Architecture\n\n- **di/**: Contains dependency injection setup using Koin.\n    - `AppModule.kt`: Defines Koin modules for dependency injection.\n- **repository/**: Contains data models and repository classes.\n    - `Person.kt`: Data class representing a person.\n    - `PersonRepository.kt`: Repository class for data operations.\n- **ui/**: Contains UI-related code.\n    - **theme/**: Contains theme-related files for Jetpack Compose.\n        - `Color.kt`, `Shape.kt`, `Theme.kt`, `Type.kt`: Define colors, shapes, themes, and typography.\n    - **components/**: Contains reusable UI components.\n        - `PersonItem.kt`: Composable function for displaying a person item.\n    - **screens/**: Contains screen composables.\n        - `PersonScreen.kt`: Composable function for the person screen.\n    - `App.kt`: Main composable function for the application.\n- **viewmodel/**: Contains ViewModel classes.\n    - `PersonViewModel.kt`: ViewModel for managing person data.\n- `Main.kt`: Entry point of the application.\n\n### Architecture Pattern\n\nThe architecture pattern to follow is MVVM (Model-View-ViewModel), which is well-suited for Jetpack Compose\napplications.\n\n### MVVM Components\n\n- **Model**: Represents the data layer, including data classes and repository.\n    - `Person.kt`: Data class.\n    - `PersonRepository.kt`: Repository for data operations.\n- **View**: Represents the UI layer, including composable functions.\n    - `PersonScreen.kt`: Screen composable.\n    - `PersonItem.kt`: UI component.\n- **ViewModel**: Manages UI-related data and business logic.\n    - `PersonViewModel.kt`: ViewModel for person data.\n\n\u003cp class=\"has-line-data\" data-line-start=\"1\" data-line-end=\"27\"\u003esrc/\u003cbr\u003e\n├── main/\u003cbr\u003e\n│   ├── kotlin/\u003cbr\u003e\n│   │   ├── com/\u003cbr\u003e\n│   │   │   ├── yourapp/\u003cbr\u003e\n│   │   │   │   ├── di/\u003cbr\u003e\n│   │   │   │   │   └── AppModule.kt\u003cbr\u003e\n│   │   │   │   ├── repository/\u003cbr\u003e\n│   │   │   │   │   ├── Person.kt\u003cbr\u003e\n│   │   │   │   │   └── PersonRepository.kt\u003cbr\u003e\n│   │   │   │   ├── ui/\u003cbr\u003e\n│   │   │   │   │   ├── theme/\u003cbr\u003e\n│   │   │   │   │   │   ├── Color.kt\u003cbr\u003e\n│   │   │   │   │   │   ├── Shape.kt\u003cbr\u003e\n│   │   │   │   │   │   ├── Theme.kt\u003cbr\u003e\n│   │   │   │   │   │   └── Type.kt\u003cbr\u003e\n│   │   │   │   │   ├── components/\u003cbr\u003e\n│   │   │   │   │   │   └── PersonItem.kt\u003cbr\u003e\n│   │   │   │   │   ├── screens/\u003cbr\u003e\n│   │   │   │   │   │   └── PersonScreen.kt\u003cbr\u003e\n│   │   │   │   │   └── App.kt\u003cbr\u003e\n│   │   │   │   ├── viewmodel/\u003cbr\u003e\n│   │   │   │   │   └── PersonViewModel.kt\u003cbr\u003e\n│   │   │   │   └── Main.kt\u003cbr\u003e\n│   ├── resources/\u003cbr\u003e\n│   │   └── …\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshade-sdev%2Fsecvault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshade-sdev%2Fsecvault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshade-sdev%2Fsecvault/lists"}