Note: Spotless Kotlin is enforced via Github Actions on this repo
Automatically resolve lint errors by running
./gradlew spotlessapply
- Single Activity Architecture - Avoids placing data in
Application Scope
- Jetpack Compose - Makes building apps faster and easier with less code
- Jetpack Navigation - No need to handle your own fragment transactions
Viewmodel
class allows user data to survive configuration changes like screen rotation- Enforces Seperation of Concerns
- Conforms to Material Design UX
- Primary colors have adequate contrast for low-vision users
- Spotless kotlin enforcement on PRs into main
- Enforces code consistency + prevents bikeshedding
- Github action
gradlew build
enforced on PRs into main- Prevents broken code from being checked into
main
- Prevents broken code from being checked into
- Utilization of modern Jetpack Android libraries yielded a UI that is
- Responsive
- Accessible
- Extensible
- Maintainable
- Testable via automation
- Form validation for each data type :
First Name
,Email
,Password
,Website
- Secret toggles used for password fields
- Secondary Color Accents which help the app 'feel' native to the OS
- Used Material default font to maintain OS consistency
- Dark mode support
- Unit test each class in isolation
- Add e2e integration tests to the PR Github Action
- Add dependency injection with
Hilt
orDagger
Package [com.example.compose.createprofile
]
This package contains 2 screens:
- Sign up
- Confirmation
The data in the sample is static, held in the *Repository
classes.
Click here for instructions on how to setup compose samples.
Copyright 2020 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.