Book Library App using Flutter and FireStore - 02/09/2023 06:07 EDT

Job ID: 37141051

Budget: ₹37,500 – ₹75,000 INR

I need an experienced flutter developer to build a book library app and website using flutter and firestore. The developer should also help with deploying the app.
Overview: The app will allow any user to create their own personnel library and add books to it. A user can also make a library visible to other users and let other users borrow from them. Users can also review/rate a book and can also view reviews by other users.
I have listed few main data-structures/tables that would be required in firestore, but certainly more tables would be required and the developer has to come up with those.
1. User: User have basic user info like, name, multiple email ids, multiple phone numbers, profile picture.
2. Book: A book consists of name, ISBN Id, cover photo, author, reviews/ratings, list of genres, language of the book, published date, words in the book and any other relevant information. Book will also contain collection of reviews/ratings.
3. Library: Library contains multiple books. A library also has 1 or more owners/admins/librarians and it can also have several members if it’s not a personnel library.
4. Copy: Represents a copy of the book in a library. Stores the information regarding how many copies of the book are present in the library. It also stores if the book is available for borrowing. If not, when will it be available.
5. Activity: Stores when a copy was borrowed or returned. It stores the user Id, library Id, Book/copy Id, datetime of borrowing/returned. Activity can be of type borrowed, returned, requested, read, reviewed etc. There could be other types as well.

I have also comprehended a tentative list of screens required, but there would be some other screens too that would be required to complete the app and the developer must come up with that.
1. Home page: Shows books in a grid view. The books can be filtered and sorted based on several factors like genre, language, published date, review, trending etc. Also allows to search for a book by name.
2. My books: Similar to home page but shows only the books available in libraries the user is a member of.
3. Book page: Shows book details like name, author, book cover, rating etc. Also shows if the user has read the book or is reading status.
4. Profile page: It shows user’s personnel info. If the user is not logged in, it asks the user to login.
5. Edit profile page: Allows user to edit personnel info.
6. Activity page: Shows all activities of a user in chronological order.
7. My libraries: Shows list of all the libraries the user is a member of.
8. Library: Shows some information about library like name, location, contact etc.
9. Books in library: Similar to Home page, but shows only the books in the library.
10. History: Show all past activity of a user in chronological order. The activities can be filtered based on activity type.
11. Book History: The owner of the library of the book can see all past activity of the book.
12. Settings:
The candidate should have past experience with building apps using flutter, firestore, google cloud functions for android and ios. The backend calls/API must be optimized for cost.
There will be a single round of interview consisting of live coding for selection. This is an MVP and if it’s successful there will be more work in future.

Thankyou!