A Simple Parking Model with simplistic design. This repo is made in Kotlin Language with Firebase authentication and connected with Rest api.
This project contains all of the latest technologies, from design to developemnt, and common features needed to build an release ready android app.
-
Step 1: Create a Firebase Project.
-
Step 2: Add package in the firebase project
-
Step 3: Enable google auth, this will be needed for authorizing App.
-
Step 4: Download the
google-services.json
from the firebase and add inside the app folder. -
Step 5: make sure your firebase project is in blaze.
for more detail visit Firebase Project setup
You have to create backend for this project. Or Run our backend from this repo.
- change API_URL value to your server api url
These are some of the important features implemented in this starter!
- View Model Structure
- All functional logics are pared inside Viewmodel and Fragment/Activity used only for Naviagtion logics.
- Coroutines Events
- Used in place of asynchronous programming .
- Used in Cases when events/callback is needed From ViewModel to Activity/Fragment. For Detail, see here
- Rest Api in Retrofit
- Retrofit library for HTTP request.
- Moshi Converter used to parse JSON in Kotlin.
- For more details , see here
These are some of the important components in this app!
- Qr Scanner
- Motion Layout Animations
- Ticket
ZXing ("zebra crossing") an open-source library is used for Qr Code Scanning.
-
Used in ActivityQrScanner with Camera Api to scan Qr code.
-
Used Inside CheckInOut Ticket Dialogs to create Qr Code image from code.
MotionLayout is Extended Class of ConstraintLayout. Used for making animation inside widgets.
- Used in implementation of CheckInOut Button button Animation. See layout checkinout_slide.xml
For examples visit:
Motion Layout Examples
TicketView
is Used to Create Ticket Dialogs
Yes! This App won't run without backend. You can create this on any platform like nodejs, python, spring etc.
We have open sourced backend code in nodejs. Please see For Backend
A special thanks to other 3rd party libraries and resource, which we have used in this project.
-
Mohammad Reza Eram: TicketView
-
Tyulkanov Igor: MaskedEditText
-
Divyanshu Bhargava: Reveal Animation
-
John Codeos: Rest Client Setup with Retrofit
This project is an open-source initiative by Junkie Labs.
For any questions or suggestions send a mail to junkielabs.dev@gmail.com or chat with the core-team on gitter.