Git Product home page Git Product logo

swd_bphc's Introduction

SWD BPHC

The SWD app for Android, rebuilt with a new design and using the best practices in Android Development. Built entirely in Koltin.

Features

  • Buy goodies
  • View your deductions and cancel orders
  • Check mess menu, apply for mess graces, and register for mess
  • View 212 bus timings
  • Contact student representatives and officials
  • Generate and download important documents
  • Request outstations and receive notifications once approved
  • Submit, edit, and delete MCN scholarship application
  • Edit your SWD profile

Tech stack & Open-source libraries

  • Minimum SDK level 23
  • MVVM Architecture
  • ViewModels with LiveData and Coroutines for asynchronous tasks
  • Hilt for dependency injection
  • Retrofit and Moshi for API calls and JSON parsing
  • Sealed classes to replace callbacks
  • Material Components
  • Coil to load images
  • Kotlin extension functions
  • Scooped storage
  • Jetpack Compose

Architecture

The application is based on MVVM architecture using a repository pattern. It uses Jetpack components such as ViewModels to hold UI related data while being lifecycle aware and LiveData to notify the domain layer about changes in data.

swd_bphc's People

Contributors

aryanarora180 avatar

Watchers

James Cloos avatar  avatar

swd_bphc's Issues

Migrate from SharedPreferences to Preferences DataStore

We’re currently using SharedPreferences to store the authentication token. You can find all the utility code in helper/DataStoreUtils. However, DataStore is a new Jetpack library that streamlines the process of using SharedPreferences. You are required to switch the app to use the Preferences DataStore instead of SharedPreferences.

Composeify: Goodies

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like those for goodies still use the XML View system. Migrate the screens (can be found under the goodies package) to use Jetpack Compose and remove all related XML code.

Composeify: Contact student representatives

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like the ones used for contacting officials still use the XML View system. Migrate the screens (found under the studentconnect package) to use Jetpack Compose and remove all related XML code.

Composeify: Know your academics

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like the ones used for mess still use the XML View system. Migrate the screens (found under the kya package) to use Jetpack Compose and remove all related XML code.

Composeify: Student profile

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like the one used for viewing/updating the profile still uses the XML View system. Migrate the ProfileFragment to use Jetpack Compose and remove all related XML code.

Composeify: FAQs

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like the ones used for FAQs still use the XML View system. Migrate the screens (found under the faqs package) to use Jetpack Compose and remove all related XML code.

Replace all usages of LiveErrorEvent with SingleLiveEvent

SingleLiveEvent and LiveErrorEvent are both classes to make sure the updated value from the ViewModel is sent only once, just as needed. LiveErrorEvent only takes a content string, whereas SingleLiveEvent supports any generic class T. In this instance, it would be better to replace all usages of LiveErrorEvent with SingleLiveEvent since the code of LiveErrorEvent and SingleLiveEvent are exactly the same and would avoid duplicacy.

Composeify: MCN

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like the ones used for MCN still use the XML View system. Migrate the screens (found under the mcn package) to use Jetpack Compose and remove all related XML code.

Composeify: DeductionsFragment and DeductionDetailsFragment

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like DeductionsFragment and DeductionDetailsFragment still use the XML View system. Migrate the screens to use Jetpack Compose and remove all rekated XML code.

Composeify: Officials connect

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like the ones used for contacting officials still use the XML View system. Migrate the screens (found under the officialconnect package) to use Jetpack Compose and remove all related XML code.

Composeify: Mess

The app has started migrating its screens to use Jetpack Compose, however, a lot of screens like the ones used for mess still use the XML View system. Migrate the screens (found under the mess package) to use Jetpack Compose and remove all related XML code.

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.