rahulsainani / shapes

A simple android app that lets you create shapes on a canvas showcasing MVVM + Clean Architecture using Kotlin, Coroutines, Flow, ViewModel, LiveData, Room, Dagger Hilt etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shapes


A simple android app that draws shapes on a canvas showcasing MVVM + Clean Architecture using Kotlin, Coroutines, Flow, Dagger, Room, LiveData, View Model etc. The app is modularised by feature.


License API

What it does

Editor screen

  1. There are 3 buttons (square, circle, and triangle). Each time you tap on a button: an object of that shape will be created, and displayed in a random position on screen.
  2. Tapping on a shape will cause it to become another shape: tapping a square will make it a circle, tapping a circle will make it a triangle, tapping a triangle will make it a square.
  3. Long pressing on a shape will remove the shape.
  4. You can undo any action. Each time you press undo it will cancel the last action performed.

Stats screen

  1. Shows a list with the name and count of each shape.
  2. Tapping on a list item will delete all shapes of that kind.

Screenshots

Tech Stack + Libraries Used

License

Copyright 2020 Rahul Sainani

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

   http://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.

About

A simple android app that lets you create shapes on a canvas showcasing MVVM + Clean Architecture using Kotlin, Coroutines, Flow, ViewModel, LiveData, Room, Dagger Hilt etc.

License:Apache License 2.0


Languages

Language:Kotlin 100.0%