Coder Social home page Coder Social logo

dawindergill / bottomtabnavigation-jetpackcompose Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 1.0 231 KB

This demo project demonstrates the implementation of bottom tab navigation, showcasing a UI with multiple screens accessible through a bottom navigation bar. It provides a practical example for developers to learn and apply this navigation pattern in their own projects.

Home Page: https://medium.com/@dawinderapps/exploring-bottom-tab-navigation-in-jetpack-compose-a-hands-on-tutorial-fc44ca6217b0

Kotlin 100.00%
android-application android-architecture android-sdk android-ui bottom-navigation bottombar bottomnavigationview jetpack jetpack-compose jetpack-navigation

bottomtabnavigation-jetpackcompose's Introduction

๐Ÿ™‹โ€โ™‚๏ธ About Me :

Hello! ๐Ÿ‘‹ I'm Dawinder, a seasoned Native Android Application Developer based in Edmonton, Canada. With over 8 years of experience in building robust and scalable Android applications using Java and Kotlin, I have developed a strong understanding of OOP concepts and SOLID principles.

You can read my articles on Medium or check out my demo projects on GitHub, which can help you create high-quality applications by following best practices. Feel free to ask me anything about Android!

๐Ÿ“ซ How to Reach Me

๐Ÿงฐ Professional Experience

My professional journey started at A3G Infotech, Chandigarh, India, where I began as an Android & Web Developer and gained experience in both Java and PHP. I later joined Orem Technologies, Mohali, India, where I worked on various projects like Khedmatazma and Smart Community Parking, honing my Android development skills further.

Currently, I'm associated with WorksDelight Inc, Toronto, Ontario, as a Native Android Application Developer. I've contributed to projects like Fit Radio Workout Music and Logic Puzzles Daily. In this role, I focus on building robust Android applications, maintaining CI/CD pipelines, and ensuring smooth deployment to the Google Play Store.

๐Ÿ’ผ Professional Projects

During my tenure at various organizations, I've contributed to the development of a number of successful applications. Here are some of them:

  • Fit Radio Workout Music ๐Ÿ’ช - Fit Radio Workout Music is a unique fitness application that delivers DJ engineered mixes of your favorite songs that are designed to match your workout pace and keep you motivated and focused. Whether you're into running, strength training, or yoga, there's something for everyone.
  • Logic Puzzles Daily ๐Ÿ’ก - Logic Puzzles Daily is a fun and challenging game that offers brain exercises for adults & kids. The app allows you to solve unlimited logic grid puzzles, track your performance with charts and stats, and compete with others for the top spots on the leaderboard.
  • Khedmatazma ๐Ÿ› ๏ธ - Khedmatazma is a comprehensive platform that connects service providers and customers. Users can book a wide range of services, from home cleaning and beauty services to car wash and maintenance. The platform guarantees top quality services at reasonable prices.
  • Smart Community Parking ๐Ÿš— - Smart Community Parking is intended for drivers who are looking for free, street car parking. Users share their space before driving away from a space, another user takes that space creating a cycle that organizes and resolves parking shortage.

๐Ÿ  Personal Projects

In addition to my professional work, I engage in personal projects to further hone my skills and experiment with new concepts:

  • Gutka Sahib ๐Ÿ“– - Gutka Sahib app provides a range of Nitnem banis, accompanied by audio for an immersive spiritual experience. It features a unique 'Sehaj Path' function that remembers the last-read page, ensuring a seamless reading experience. Listen to live Kirtan from Sri Harmandir Sahib and world Gurdwaras Live Radio Stations anytime, anywhere. The app offers daily Hukamnama updates from Shri Harmandir Sahib and includes Nanakshahi Calendar.
  • Home Fitness ๐Ÿ’ช - Home Fitness is your guide to maintaining a healthy lifestyle even when you're at home. The app provides a wide range of workout routines categorized by targeted body parts. It also offers features like workout reminders, progress tracking, and the ability to customize your workout routines.
  • UHD Wallpapers ๐Ÿ–ผ๏ธ - UHD Wallpapers offers a collection of high-definition wallpapers to personalize your device. The app features a broad category of wallpaper themes, from nature and landscapes to cars and abstract art. Users can download and set wallpapers directly from the app.

๐Ÿ‘ Open Source Projects

Open-source projects are a fundamental part of my journey as a developer. It allows me to collaborate with other developers and give back to the community. Here are some of the projects I've worked on: Click Here

๐Ÿ’ป General Tech Stack

  • Languages

Kotlin Java

  • Development Environment and Tools

Android Studio Android IDE MAC OS Json

  • Version Control

Github Bitbucket Git

  • Cloud Platforms and Databases

Firebase Azure Google Cloud AWS SQLite

  • Continuous Integration / Continuous Deployment

Jenkins Bitrise

  • Project Management Tools

Jira Trello

  • API Testing

Postman Swagger

  • Payment Gateway

G Pay Paypal Stripe Paytm

  • Analytics

Google Analytics Firebase

  • Build Tool

Gradle Apache Maven

  • Communication

Microsoft Team Skype Zoom Google Meet

๐Ÿ“ฑ Android Development Tech Stack

  • Android Libraries and SDK

Android SDK Android Jetpack Jetpack Compose Material Design Proguard R8

  • Kotlin Extensions and Libraries

Kotlin DSL Kotlin Gradle Kotlin KSP Kotlin Extensions

  • Architecture Patterns

SOLID Principles MVVM MVP MVC Singleton Factory Builder Adapter

  • Libraries

Dagget Hilt Room Retrofit Exo Player Media3 ExoPlayer Google Maps Glide Picasso Moshi OkHttp LeakCanary Gson Espresso

  • Other Concepts and Tools

OOP Concepts UI/UX CI/CD Test-Driven Development Secure Coding Dependency Injection Instrumental Testing Unit Testing Android Services Push Notifications Broadcast Receiver Work Manager Data Binding View Binding View Model Live Data Coroutines Flows RxJava RxAndroid RESTful APIs HTTPS AWS Services Memory Management Battery Management Agile Methodologies

๐ŸŒ Socials

Linkedin Google Play Medium

bottomtabnavigation-jetpackcompose's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

bottomtabnavigation-jetpackcompose's Issues

Alternative Approach

Hi , When i was adapting this code for my app i faced an issue with NavigationScreens.kt , basically it was a navigation related exception error .

I solved it by using my equivalent of NavigationScreens() inside of MainActivity instead of MainScreen() . (i kept the bottom bar within the NavigationScreens() which was earlier in MainScreen()).

@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
@Composable
fun NavigationScreens() {
    val navController = rememberNavController()
    Scaffold(bottomBar = {
        BottomAppBar { BottomNavigationBar(navController = navController) }
    }) {
    }
 NavHost(navController = navController, startDestination = NavItem.Home.path) {

           composable(NavItem.Home.path){
               HomeScreen(navController = navController)
           }
}

I think it would be a better approach as we are directly utilizing our Navigation at first instance which itself would start the homeScreen as intended . MainScreen could be removed and its components could be kept directly inside the NavigationScreens()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.