Giter Club home page Giter Club logo

gdsc-android-ipsa's Introduction

Compose Camp (ANDROID STUDY JAMS)

Community App of Google Developer Student Club @ IPS Acacdemy

GitHub license GitHub stars GitHub forks

Application Install

You can Install and test latest GDSC IPS Academy app from below πŸ‘‡

GDSC

Problem Statement:

Getting Information and all the resource related to Google Developer Student Club IPS Academy and all the Events, Hackathons, etc. that we conduct gets complicated as Information and resources are divided on multiple platforms such as the DSC Community Website, WhatsApp Group of GDSC IPSA, Discord Server of GDSC IPSA, GitHub Org of GDSC IPSA, YouTube channel of GDSC IPSA and so on. Specific Technologies can be used to Implement a solution to ease the process and concentrate all the Information related to GDSC IPSA on a single platform.

Proposed Solution :

This project proposes a "Community Android Application" to accumulate all the Information and Resources related to our developer community here at GDSC IPSA in one single Android Application, which will make it a one-stop destination for all community members to access all the resources from one single platform rather than searching over all our social media handles and web-pages.

πŸ“Έ Screenshots

Technology Stack Used :

Android Studio Kotlin Firebase

Functionality & Concepts used :

Functionalities in the app :

  • Find all our Social Media handles and Developer Profiles.
  • Get to know more about Google Developer Student Clubs.
  • See Upcoming Event and all the Details.
  • See Past Events and all the Details.
  • Get Past Event's Video Recording.
  • Verify the Certificate's authenticity issued by GDSC IPSA via this app and get all details.
  • Check out all the Profiles of the Lead as well as of the whole team here at GDSC IPSA

Concepts used in the app :

  • GDSC IPSA uses all Jetpack libraries and follows MVVM architecture.
  • JetPack Compose UI: Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
  • Flow : A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • State handling : Compose is declarative and as such the only way to update it is by calling the same composable with new arguments. By using this concept we created responsive UI for over app in this project
  • Coroutines - For asynchronous and more.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
  • Firebase RealtimeDatabase: Google's Firebase is used as the online Backend Database to retrieve most of the data from, such as the Event Details as well as the Data for Verified Certificates issued by GDSC IPS Academy.
  • GSON Converter - A Converter which uses Moshi for serialization to and from JSON.
  • BottomNavigationView: It is implemented using Compose Navigation to easily navigate between the 3 Screens About, Home and Team.
  • Glide + Lottie: Third-Party Libraries such as Glide are used to load images in the app using URIs as well as Lottie is used to render smooth animations in our app as views from the raw JSON.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Future Scope :

  • We are currently discussing all the possible features that can be Implemented in this community app, in the coming months we will be adding many more functionalities to this application.

Package Structure

com.mohit.gdsc.ipsacademy    # Root Package
.
β”œβ”€β”€ data                    # For data handling.
β”‚   β”œβ”€β”€ model               # Model data classes from remote entities
β”‚   └── repo                # Single source of data.
|
β”œβ”€β”€ ui                      # UI/View layer
|   β”œβ”€β”€ components          # Common Composaled required.
|   β”œβ”€β”€ screens             # All Screens in app.    
β”‚   β”œβ”€β”€ theme               # App theme related files.
β”‚   β”œβ”€β”€ usecases            # Use-cases for features.
|
└── utils                   # Utility Classes / Kotlin extensions

Architecture

This app uses MVVM (Model View View-Model) architecture.

Contributors:

Thanks to all the contributors ❀️

gdsc-android-ipsa's People

Contributors

ismailbohra avatar kardelio avatar mohitgupta121 avatar moizcode avatar vivek-raj-gupta-2002 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gdsc-android-ipsa's Issues

Feature: Implement Event Details Fragment with Firebase using Compose

Feature description

Implement Event Details Fragment with Firebase like below using Compose:-

WhatsApp.Video.2022-10-05.at.2.04.44.PM.mp4

πŸ‘€ Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

  • I agree to follow this project's Code of Conduct

Feature: Transfer Past and Upcoming Events Recycler view into Compose UI

Feature description

You have to transfer Past Events and Upcoming Events Recycler view into Compose UI

πŸ‘€ Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

  • I agree to follow this project's Code of Conduct

Code Of Conduct

Hey! I've visited your project and saw, there were no CODE OF CONDUCT for this project.Though code of conduct is necessary for every project for maintaining its open-source contribution decorum. So If you don't mind can i contribute a code of conduct file to this repo ? πŸ˜€βš’οΈ

Feature: Implement About Us Fragment with Gif & using Card Views

Feature description

Implement About Us Fragment with Gif & using Card Views no need to use Recyclerview for Different Tracks:-

  • Make UI like this mockup recording
WhatsApp.Video.2022-10-04.at.11.20.51.AM.mp4

πŸ‘€ Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

  • I agree to follow this project's Code of Conduct

Feature: Implement Team Fragment using Compose

Feature description

Feature: Implement Team Fragment using Compose like below demo:-

WhatsApp.Video.2022-10-05.at.2.10.53.PM.mp4

πŸ‘€ Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

  • I agree to follow this project's Code of Conduct

Feature: Implement Placeholder if there is no Upcoming Events.

Feature description

Implement Placeholder if there is no Upcoming Events.

you have to add the animation if there is no events get from firebase for upcoming events:-

Animation:- https://gist.github.com/MohitGupta121/0a76e9abc940d688695e6fbf6eb29880#file-searching_lottie-json

πŸ‘€ Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

  • I agree to follow this project's Code of Conduct

Feature: Implement Certificate Verification Fragment

Feature description

Implement Certificate Verification Fragment:-

Home Screen Verify Screen
Screenshot_2022-05-31-12-23-27-332_com android camera

πŸ‘€ Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

  • I agree to follow this project's Code of Conduct

Feature: Implement Back Button at Top Bar

Feature description

Feature: Implement Back Button at Top Bar

  • Certificate Verify Screen
  • Event Details Screen
Screenshot_2022-05-31-12-23-27-332_com android camera

πŸ‘€ Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

  • I agree to follow this project's Code of Conduct

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.