/Bitotsav-19

Official app for Bitotsav '19

Primary LanguageKotlinApache License 2.0Apache-2.0

Bitotsav '19

The official app for the 29th edition of Bitotsav, BIT Mesra's annual socio-cultural fest.

Note: The functionality of the app is limited after the fest, as the servers are offline, but most of the data related to events and rankings has been preserved as json for archival purposes, and full functionality exists in the code.

Get it on Google Play

🎨 About

Bitotsav '19, the 29th edition of Birla Institute of Technology, Mesra's annual socio-cultural fest, took place from the 14th to the 17th of February, 2019, featuring 4 nights and 48 events. This app was created by the tech team for proper management of the fest, assisting both participants and organizers by acting as a medium for latest updates as well as the source of knowledge for event details like rules, timings & venues, payment status, rankings & results and much more, all dynamic and real time. Additionally, to complement the theme i.e. "Colours of Asia", the UI colors change on every start.

✨ Features

  • Profile: Login with Bitotsav Id to access Team Statistics, Activity and Night Pass status.
  • Individual Registration: Register and get your Bitotsav Id.
  • Championship Registration: Register a team of 6-8 for Bitotsav Championship.
  • Schedule: Full events listed sorted by time, separated by day and a dedicated section for nights.
  • Event Filters: Filter the event list based on categories and starred status.
  • Event Details: Select any event to get detailed information, contact coordinators, see results etc.
  • Event Registration: Register a team for any event.
  • Subscription: Subscribe to events you like to receive personalised alerts and updates.
  • Feed: Real time updates from the Bitotsav '19 team.
  • Leaderboard: Live standings of all registered championship teams.

🖼 Screenshots





ℹ️ Permissions

No explicit permissions are used by this app, but it does prompt users of devices of certain manufacturers to enable autostart and disable battery optimization to ensure timely delivery of notifications.

💻 Tech

🗒 Overview

  • Developed in Kotlin with Android Studio Canary as IDE and latest technologies such as AndroidX, Jetpack Architecture Components, Coroutines etc.
  • MVVM architecture
  • Feature based package structure

📱 Android SDK Components

  • AndroidX
  • Navigation
  • Room
  • WorkManager
  • Data Binding
  • Live Data
  • ViewModel
  • Palette

🌐 Network Libraries

  • Retrofit 2 by Square
  • Gson by Google
  • Firebase (FCM)
  • Safety Net (reCAPTCHA v2)

🔌 Other Third Party Libraries

🖮 Other Tech

✅ TODO

  • Tests
  • Better documentation

🏛 License

Copyright 2019 Aakarshit Uppal, Ashank Anshuman

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.