A simple PDF aggregating, viewing and reviewing app, powered by firebase
Important
I will be soon removing access to actual firebase database from the console. Its obviously a demo project and I don't want to hit the thresholds. if you want to run this app locally, I have added a schema.json
file. simply :
- create a firebase project. add and android app with package
io.github.curioustools.bookshub
- enable firebase authentication for username and password
- enable firabse realtime database in singapore region
- download the google services.json and replace the content of app/google-services.json with your file
- in realtime database, import the schema .json
- 100% kotlin, almost 100% compose (need to add compose based navigation)
- version catalog, Hilt, Coil and Retrofit/Okhttp
- MVVM Arch
- build basic app structure using view based ui
- create backend using firebase for different schemas (Books, User,Reviews) and link
- replace view based ui with compose ui (multi activity)
- replace view based ui with single activity and compose screens/ compose navigation
- use flows
- Splash Screen
- Authentication : Login/Signup
- HomePage/ My Books:
- Books that I am reading. On Clicking it will open Book Page
- Books that I purchased. On Clicking it will open Book Page
- Books that I reviewed. On Clicking it will open Book Page
- Books that I bookmarked. On Clicking it will open Book Page
- Suggested Books. On Clicking it will open Book Page
- Book Search:
- A List of all books available on the platform. on clicking will open Book Page
- Book Page:
- A Page showing Book Title , Image, Cost, Avg Rating, Summary , List of reviews, Purchase/Download/open button , your review field bookmark and review button.
- on purchase button ->
goto summary pagechange button to download for now - on download -> PDF gets downloaded in user cache
- on open -> Book Preview Page is Opened
- on bookmark -> Book is added to a list of user bookmarks
- on review -> review is added to list of reviews
- Book Preview: PDF is rendered via PDF renderer [update: in v2]
- My Profile :User can change their name/ Default Profile Picture, or logout.
- Book Upload : [update:in v2]
- Limited to a certain users only
- A single page where user will provide a book, a thumbnail will be generated for the book , can add an initial review, description ,cost etc