Bicicas-app - Unnoficial Bicicas App Built With Kotlin

Overview

Unnoficial Bicicas App

This project is the continuation of Unnoficial Bicicas app from 2017. It contains the source code of the playstore application (publication pending to be approved) and it will help to track bugs and new features to implement.

Unnoficial Bicicas is a nonprofit android application, that allows users to check Bicicas benches availability and to unlock bycicles with the generated pin.

Note that some aspects of the puslished application, such as api endpoints or pin generation library are not available on this repository. That decission is made with the only aim of keeping things "secure" and to avoid legal issues (please, if someone wants to scare contact me because is not happy about this nonprofit project, that only aims to help people and does not involve any security risk, please, contact via email).

Prerequisites

  • Latest Android Studio Canary version
  • A local.properties file in the root of the project including these properties:
MAPS_API_KEY=my_maps_api_key
OAUTH_CLIENT_ID=my_auth_endpoint_client_id
OAUTH_CLIENT_SECRET=my_auth_client_secret
OAUTH_ENDPOINT=https://auth.endpoint.me
STATUS_ENDPOINT=https://status.endpoint.me
ENCRYPT_PASSWORD=my_encryption_pass

Whats next

  • More testing
  • Bug fixing
  • New features

Contributions

Any issue, idea or pull request will be very welcomed.

License

Unnoficial Bicicas App is licensed under GNU General Public License v3.0, check LICENSE for further information.

Comments
  • Renaming

    Renaming "user" to "DNI (ID) / NIE"

    The Bicicas website calls the user "DNI (ID) / NIE", where this app calls it "user".

    This creates a small usability problem, where you can't really recall what that "user" was.

    opened by es20490446e 4
  • Start destination enhancement

    Start destination enhancement

    Since app startup is faster than cache is loaded, with this PR, the splash screen is displayed until the cache is loaded to avoid displaying empty error

    enhancement 
    opened by VBelles 0
  • Reduce memory usage by using Compose Navigation

    Reduce memory usage by using Compose Navigation

    #7 Fixes some leak related to map and bottom navigation uses compose navigation to avoid stacking screens over other screens therefore reducing memory usage.

    opened by VBelles 0
  • Start destination enchancement

    Start destination enchancement

    When leaving the app, the present screen should be saved to restored as start destination. This can be configured as a new option in navigation settings, but this should be the default behaviour.

    enhancement 
    opened by VBelles 0
  • Reduce memory usage by using Compose Navigation

    Reduce memory usage by using Compose Navigation

    At this moment, navigation between main sections (Pin, List, Map) on "Bottom bar" mode is performed by making the selected section visible via alpha and hiding the rest. This decision was took to preserve the state of the map view, using Compose Navigation would recreate the map view on each navigation. However, if the map view is scoped at activity level and injected into the MapScreen, it could work, then, there is no need to keep on screen every section, Compose Navigation could be used and this would reduce the memory usage on "Bottom bar" mode. SettingsScreen would be benefited also, when SettingsScreen is opened, the rest of sections are also being displayed under this screen. Reducing memory usage reduces the probability of the app being killed by system and avoids recreations when swapping between applications.

    enhancement 
    opened by VBelles 0
  • Sometimes map bench marker favorite icon is not updated when favorite state changes #3

    Sometimes map bench marker favorite icon is not updated when favorite state changes #3

    Sometimes map bench marker favorite icon is not updated when favorite state changes #3

    On MapMarkerAdapter, update markers icon with new icon provided on onBind.

    opened by VBelles 0
  • Display open source dependencies licenses

    Display open source dependencies licenses

    #1 Display open source dependencies licenses Created LicensesScreen to display dependencies licenses using mikepenz aboutlibraries Implemented navigation to LicensesScreen on SettingsScreen

    opened by VBelles 0
  • Sometimes map bench marker favorite icon is not updated when favorite state changes

    Sometimes map bench marker favorite icon is not updated when favorite state changes

    Sometimes when favorite button is pressed, favorite button is not updated, see video: https://user-images.githubusercontent.com/15327145/148642170-2aeda6d7-f75f-483c-af81-0e227c473108.mp4

    bug 
    opened by VBelles 0
  • Display open source dependencies licenses

    Display open source dependencies licenses

    App should have a section where all third party libraries dependencies are displayed to comply with the license requirements of open source libraries. Some libraries that could help:

    • https://developers.google.com/android/guides/opensource
    • https://github.com/mikepenz/AboutLibraries (Compose support)
    enhancement 
    opened by VBelles 0
Releases(v2.0.2)
  • v2.0.2(Nov 27, 2022)

    What's Changed

    • Reduce memory usage by using Compose Navigation in https://github.com/VBelles/bicicas-app/pull/11
    • Start destination enchancement in https://github.com/VBelles/bicicas-app/pull/12 and https://github.com/VBelles/bicicas-app/pull/15
    • Keep the project up to date in https://github.com/VBelles/bicicas-app/pull/14

    Full Changelog: https://github.com/VBelles/bicicas-app/compare/v2.0.1...v2.0.2

    Source code(tar.gz)
    Source code(zip)
    app-release.aab(3.12 MB)
    app-release.apk(2.14 MB)
  • v2.0.1(Jan 8, 2022)

    New features

    • Display open source dependencies licenses #1 in https://github.com/VBelles/bicicas-app/pull/4
    • Display app version #2 in https://github.com/VBelles/bicicas-app/pull/5

    Bugs fixed

    • Sometimes map bench marker favorite icon is not updated when favorite state changes #3 in https://github.com/VBelles/bicicas-app/pull/6

    Full Changelog: https://github.com/VBelles/bicicas-app/compare/v2.0.0...v2.0.1

    Source code(tar.gz)
    Source code(zip)
    app-release.aab(2.80 MB)
    app-release.apk(2.21 MB)
  • v2.0.0(Jan 4, 2022)

    Bicicas is back

    First open sourced release of Unnoficial Bicicas, an android application that allows to check Bicicas benches availability and to obtain the pin code that allows to unlock bicycles on Bicicas benches. This is a complete refactor.

    New features respect the 2017 version:

    • More information about benches: bicycle numbers, incidents, and electric bicycles availability.
    • Material You styling
    • Bottom bar navigation
    • Better landscape support
    • Customizable theme
    • Customizable initial screen
    • Customizable navigation type (bottom bar or tabs)

    Bug fixes:

    • Fixed wrong pin generation when the app goes to background
    Source code(tar.gz)
    Source code(zip)
    app-release.aab(2.76 MB)
    app-release.apk(2.18 MB)
Owner
Vicent Bellés
Vicent Bellés
Formula 1 app to show current Standings from a REST API.Built using jetpack compose and kotlin.

Formula1 Formula 1 app to show Standings fetching data from REST API ?? Screenshots Tech Stack. Kotlin - Kotlin is a programming language that can run

Ezra Kanake 5 Oct 28, 2022
A fully functional Android app built entirely with Kotlin and Jetpack Compose

Now in Android App [Work in progress ?? ] Learn how this app was designed and built in the design case study, architecture learning journey and modula

Android 9.1k Dec 30, 2022
Morph is an Android library, written in Kotlin, built to work together with Jetpack Compose.

Morph Morph is an Android library, written in Kotlin, built to work together with Jetpack Compose. It allows you to transition any view to another vie

Menno Vogel 12 Jul 10, 2022
This is a sample app(For beginners - App #1) built using Jetpack Compose

This is a sample app(For beginners - App #1) built using Jetpack Compose. It is a simple - single screen app to demonstrate use of basic Jetpack Compose UI elements like Text, Image and Button & LazyColumn (Vertical Recyclerview). It also demonstrates how compose manages state with a Boolean State.

BHAVNA THACKER 3 Apr 3, 2022
This is a sample app(For beginners - App #2) built using Jetpack Compose. It demonstrates the concept of State Hoisting in Jetpack Compose.

JetBMICalculator This is a sample app(For beginners - App #2) built using Jetpack Compose. It demonstrates the concept of State Hoisting in Jetpack Co

BHAVNA THACKER 3 Dec 31, 2022
ToDo-Task-App - An Android App built to demonstrate the use of Jetpack Compose, Material You, Room Database, and MVVM

ToDo Task App ToDo Task App is a sample Android app built with Jetpack Compose.

null 0 Jan 17, 2022
JetFlix - A clone of Android NetFlix app in Android built using Jetpack compose.

JetFlix A clone of Android NetFlix app in Android built using Jetpack compose. This sample app showcases the following: MVVM Architecture (ViewModel +

Pushpal Roy 40 Dec 6, 2022
A Rick and Morty app built with Jetpack Compose.

RickAndMortyCompose A Rick and Morty app built with Jetpack Compose. ?? Demo ✨ Features Compose UI Kotlin Coroutines Compose Navigation MVVM Architect

Prattham Arora 4 Mar 12, 2022
This app can be used to track open slots for vaccination. This is built using Jetpack Compose.

Covid Vaccine This projects used the Cowin APIs provided by the government. Screenshots Tech Stack Used Kotlin Dagger Hilt Clean Architecture with Mod

Himanshu Singh 101 Dec 15, 2022
JetInstagram is an Instagram UI clone app built with Jetpack Compose.

JetInstagram JetInstagram is an instagram clone app built with Jetpack Compose. This sample showcases: Home Screen Post Like Button Animation Photo Li

Vipul Asri 652 Jan 4, 2023
InstagramJetpackCompose is an Instagram UI clone app built with Jetpack Compose.

InstagramJetpackCompose is an Instagram UI clone app built with Jetpack Compose.

Quvonchbek Y 5 Apr 18, 2022
From Swedish "Öppettider", an app to quickly access your favorite places' opening times. Built to practice Android development and try out Jetpack Compose.

Appettider From Swedish "Öppettider", an app to quickly access your favorite places' opening times. Built to practice Android development and try out

Arianna Masciolini 0 Dec 6, 2021
A little app that was built with Jetpack Compose

RateIt Compose ?? Description A little app that was built with Jetpack Compose. It contains only one screen with custom animated content. The goal of

Erlan 29 Apr 7, 2022
A pet adoption app UI built with super powerful Jetpack Compose for #AndroidDevChallenge

PetyKT ?? Awesome pet adoption app built to demonstrate the use of super powerful and modern UI development toolkit i.e. Jetpack Compose UI for #Andro

Shreyas Patil 22 Sep 28, 2022
An Android / Wear OS app built with Jetpack Compose to search for definitions of English words

EnglishDictionary A simple Android / Wear OS app built with Jetpack Compose to s

daniil 4 Sep 21, 2022
Clouddy - Weather App Built with Jetpack Compose

Clouddy - Weather App Daily Weather Forecast App built with Jetpack Compose View

Pranav Tiwari 4 Sep 14, 2022
JetCam - Add camera capability to app built with Jetpack Compose

JetCam Add camera capability to your app with just a single method - JetCam To g

Pankaj Rai 6 Jul 8, 2022
An android library to highlight different features of the app built using Jetpack Compose.

An android library to highlight different features of the app built using Jetpack Compose.

Canopas Software 230 Dec 23, 2022
Ecormmerce app built using Android latest UI framework - Compose UI and data coming from Fake Store API

BuyCart ?? Android shopping app built with Jetpack Compose consuming FAKE STORE API I am trying to learn and follow some standard Android architecture

Henry Udorji 4 Aug 5, 2022