Book Sharing APP for zolo-booky made using Kotlin.
Developed with the software and tools below.
Introducing Zolo Booky, a mobile application designed specifically for bachelor residents in coliving PGs. Developed using Kotlin, it streamlines the process of sharing books among users. With features such as browsing, borrowing, and lending books, Zolo Booky aims to facilitate a sense of community among residents through the exchange of literature. Experience the convenience of organized book management with Zolo Booky.
- Allows owners to lend books by adding it.
- Allows borrowers to borrow book.
- Sends notification to users on critical events like(someone adds books, someone borrows books, someone returns books, request gets rejected, etc..)
- It uses firebase to send notifications and also creates the userContext;
- Images are stored using blob storage.
- Implemented auto refresh on events like(new books added, books get accepted, etc..)
βββ zolo-booky-frontend/
βββ app
β βββ .gitignore
β βββ build.gradle.kts
β βββ google-services.json
β βββ proguard-rules.pro
β βββ src
β βββ androidTest
β β βββ java
β β βββ com
β βββ main
β β βββ AndroidManifest.xml
β β βββ java
β β β βββ com
β β βββ res
β β βββ anim
β β βββ drawable
β β βββ layout
β β βββ menu
β β βββ mipmap-anydpi
β β βββ mipmap-hdpi
β β βββ mipmap-mdpi
β β βββ mipmap-xhdpi
β β βββ mipmap-xxhdpi
β β βββ mipmap-xxxhdpi
β β βββ navigation
β β βββ values
β β βββ values-night
β β βββ xml
β βββ test
β βββ java
β βββ com
βββ build.gradle.kts
βββ google-services.json
βββ gradle
β βββ wrapper
β βββ gradle-wrapper.jar
β βββ gradle-wrapper.properties
βββ gradle.properties
βββ gradlew
βββ gradlew.bat
βββ settings.gradle.kts
.
File | |
---|---|
settings.gradle.kts | settings.gradle.kts |
google-services.json | google-services.json |
build.gradle.kts | build.gradle.kts |
gradlew.bat | gradlew.bat |
app
File | |
---|---|
proguard-rules.pro | app/proguard-rules.pro |
google-services.json | app/google-services.json |
build.gradle.kts | app/build.gradle.kts |
app.src.main.java.com.example.test
File | |
---|---|
MainActivity.kt | app/src/main/java/com/example/test/MainActivity.kt |
SplashScreen.kt | app/src/main/java/com/example/test/SplashScreen.kt |
HistoryBottomSheet.kt | app/src/main/java/com/example/test/HistoryBottomSheet.kt |
app.src.main.java.com.example.test.tabs
File | |
---|---|
TabBorrowed.kt | app/src/main/java/com/example/test/tabs/TabBorrowed.kt |
TabYourBooks.kt | app/src/main/java/com/example/test/tabs/TabYourBooks.kt |
app.src.main.java.com.example.test.globalContexts
File | |
---|---|
Constants.kt | app/src/main/java/com/example/test/globalContexts/Constants.kt |
app.src.main.java.com.example.test.notifications
File | |
---|---|
NotificationService.kt | app/src/main/java/com/example/test/notifications/NotificationService.kt |
app.src.main.java.com.example.test.activity
File | |
---|---|
BookInfoOwnerActivity.kt | app/src/main/java/com/example/test/activity/BookInfoOwnerActivity.kt |
PostBooksActivity.kt | app/src/main/java/com/example/test/activity/PostBooksActivity.kt |
BookInfoActivity.kt | app/src/main/java/com/example/test/activity/BookInfoActivity.kt |
app.src.main.java.com.example.test.entity
File | |
---|---|
UserEntity.kt | app/src/main/java/com/example/test/entity/UserEntity.kt |
BooksDetailsEntity.kt | app/src/main/java/com/example/test/entity/BooksDetailsEntity.kt |
MyBookEntity.kt | app/src/main/java/com/example/test/entity/MyBookEntity.kt |
AppealEntity.kt | app/src/main/java/com/example/test/entity/AppealEntity.kt |
ListAppealEntity.kt | app/src/main/java/com/example/test/entity/ListAppealEntity.kt |
BorrowerEntity.kt | app/src/main/java/com/example/test/entity/BorrowerEntity.kt |
ListBookEntity.kt | app/src/main/java/com/example/test/entity/ListBookEntity.kt |
app.src.main.java.com.example.test.fragment
File | |
---|---|
HomeFragment.kt | app/src/main/java/com/example/test/fragment/HomeFragment.kt |
MyBooksFragment.kt | app/src/main/java/com/example/test/fragment/MyBooksFragment.kt |
TransactionsFragment.kt | app/src/main/java/com/example/test/fragment/TransactionsFragment.kt |
app.src.main.java.com.example.test.adapter
File | |
---|---|
BookBorrowAdapter.kt | app/src/main/java/com/example/test/adapter/BookBorrowAdapter.kt |
MyBooksAdapter.kt | app/src/main/java/com/example/test/adapter/MyBooksAdapter.kt |
ViewHistoryAdapter.kt | app/src/main/java/com/example/test/adapter/ViewHistoryAdapter.kt |
BookListAdapter.kt | app/src/main/java/com/example/test/adapter/BookListAdapter.kt |
MyRequestsAdapter.kt | app/src/main/java/com/example/test/adapter/MyRequestsAdapter.kt |
BorrowerListAdapter.kt | app/src/main/java/com/example/test/adapter/BorrowerListAdapter.kt |
BookRequestsAdapter.kt | app/src/main/java/com/example/test/adapter/BookRequestsAdapter.kt |
TabAdapter.kt | app/src/main/java/com/example/test/adapter/TabAdapter.kt |
app.src.androidTest.java.com.example.test
File | |
---|---|
ExampleInstrumentedTest.kt | app/src/androidTest/java/com/example/test/ExampleInstrumentedTest.kt |
app.src.test.java.com.example.test
File | |
---|---|
ExampleUnitTest.kt | app/src/test/java/com/example/test/ExampleUnitTest.kt |
Requirements
Ensure you have the following dependencies installed on your system:
- Kotlin:
version 1.x
- Clone the zolo-booky-frontend repository:
git clone [email protected]:sst-product-team/zolo-booky-frontend.git
- Change to the project directory:
cd zolo-booky-frontend
- Install apk into Smartphone/Virtual Device:
./gradlew installDebug
./gradlew assembleDebug
Ensure the server is running...Before using the app.
Contributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Report Issues: Submit bugs found or log feature requests for Zolo-booky-frontend.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone [email protected]:sst-product-team/zolo-booky-frontend.git
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.