View Code? Open in Web Editor
NEW
A flutter app where users can exchange books within their nearby location range.
Home Page: https://www.figma.com/file/uhWQuE4EKDHR8AqH4p3eFK/Books-App?node-id=0%3A1
License: Apache License 2.0
Kotlin 0.06%
Swift 0.18%
Objective-C 0.02%
Dart 99.09%
Makefile 0.02%
Ruby 0.61%
Groovy 0.03%
flutter-ui's People
Watchers
flutter-ui's Issues
Description
Implement Dark Theme in the Settings Page
Additional data
See Figma for reference
Description
We need to connect authentication done on the frontend side with our server. It'll include all the following methods: Email, Google, and Facebook.
Description
Change the Google sign-in button to a broader one.
Current Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Remove the Facebook button
Change the Google button UI using https://pub.dev/packages/flutter_signin_button
Additional data
None
Description
Remove the location bar slider from the user preferences dialog (See the screenshot)
This slider is already present in the settings screen.
Current Screenshots
##Additional
Do not delete this widget from the entire app (Just remove it from the user_preferences.dart file).
Description
Remove all the warnings as shown in the screenshot below.
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
See analysis_options.yaml for all the linting rules
Remove all the unused imports.
Update all the deprecated widgets.
Rectify all other kinds of warnings by following standard practices.
Additional data
I'll check whether the Github actions for linting get passed or not after that.
Description
Sometimes, the dashboard page gets stuck due to this shuffle method of the booklist
Current Screenshots
Additional data
If anyone finds the same issue and knows how to fix it, then comment below. Also, add your screenshots of this issue.
Description
Write code so that we can find all the users in a 5 km radius.
We should be able to do it by calculating distance via a lat long field of users.
We should then be able to fetch all books that belong to all the users within a 5 km radius.
Similarly, we need to do for 5-10 km, and 10-20 km (The dummy UI is shown below)
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Firebase files: lib/services/database_service.dart
Explore Nearby Screen: lib/screens/explore_nearby.dart
UserData is created whenever the User gets signed in. (See lib/services/auth.dart)
So the book should contain all the book and owner info ( See #92 )
Add the code in both the files using Firebase code and Firebase ML (if required)
Do not remove the Empty Page Widget , just keep it for the case when no books are available.
Additional data
If there's something related to ML, then you can always discuss it with @ankitoscar here.
Share relevant app screenshots of your before committing any changes.
Description
Migrate the app to null safety with the latest flutter version: 2.5.2 and check which dependencies are incompatible.
Screenshots
None
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
See https://dart.dev/null-safety/migration-guide
See how to fix the partially migrating dependencies
Make sure to follow the Linting rules ( analysis_options.yaml )
Resolve all the conflicts after null safety migration before making any commit.
Additional data
What changes can we make in linting after null safety migration?
Display Quotes at the very first line in the dashboard section. Currently, the quotes get changed whenever we switch between tabs. We can either keep this feature or close this issue after further discussion.
Description
To check the Github action for closing issue with done label
Description
Setup Email Signup using Firebase and Provider State management
#56 has already been created for removing the confirmation code page
Auth user flow is shown below
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Make an auth provider dart file in lib\providers
All the auth screens are in lib\screens\auth
Firebase Auth has been set up in lib\services\auth.dart
Additional data
Auth User flow: https://www.figma.com/file/uhWQuE4EKDHR8AqH4p3eFK/Books-App?node-id=0%3A1
Maybe we can reset the password in a better way. Let's discuss it here
Description
To implement Email Login in the Initial Screen. Currently, it's resulting in null uid as shown below.
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Initial screen : lib\screens\initial_screen.dart
Auth files: lib\services\auth.dart
Also implement the email log out when the user taps on the logout button.
Private profile: lib\screens\profile\private_profile.dart
Additional data
None
Description
Retrieve the book genres from Books API in the dashboard page and when a user adds a book to the Library page.
The dummy data is shown in the screenshot.
Currently we are using Google Books API for retrieving books, but you can use other APIs like Goodreads, etc (See #97 )
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Book description file: lib\screens\book_desciption.dart
Book provider file: lib\providers\books.dart
API file: lib\config\api.dart
Add your book file: lib\screens\add_book.dart
Additional data
Attach the working screenshots in the pull request.
Description
Remove the confirmation code page and directly navigate the register screen to the dashboard.
Remove the confirm_email.dart file, and set the routing accordingly. (Register Page is a dummy right now, we'll make it functional through creating another issue)
Also remove all the functions related to the above file, like ConfirmationCodeTextField(), etc from the app as shown in the screenshot.
Screenshots
Additional data
We can discuss this here further before making a major change.
Description
The Edit Profile Page isn't opening. The error is as shown below.
Same error occurs in the book description page when tapping on Owner's Info
Try it in your local system first
Screenshots
Steps to Reproduce
This has occurred because the provider hasn't been registered in main.dart .
So either replace the Provider with Stream Provider (Initialized in home.dart )
OR Extend the UserData function with ChangeNotifiers with relevant functions(If required)
User Model : lib/providers/user.dart
Book Description page: lib/screens/book_desciption.dart
Additional data
What better solution can be there to fix this issue? Go through the entire codebase for more clarity.
We need to complete the following things:
Integrate with REST API and delete dummy data
Alternate text of 'No books to display ' instead of the whole Discover New and other sections
Search bar and filter functionality
Description
The Books should get saved in the Saved Books section, once the user bookmarks them but it's not functional right now.
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Check the book provider file: lib\providers\books.dart
Book description file: lib\screens\book_desciption.dart
Other provider files: lib\providers
Try out by adding a Book from Google Books API then saving it as a bookmark for testing.
For that checkout: lib\screens\add_book.dart
Additional data
Add the screenshots of the saved books while making the pull request.
Description
Currently, books are being retrieved from Google Books API, but not all books are present there.
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Once the owner taps Add your book , the book data is being updated in the Cloud Firestore.
But for books not present in Google Books API we need to use some other API like Goodreads API.
For eg: The Alchemist shown in the above screenshot was not present, but the other book was.
We need to store the following data: See #92 for books.
To Discuss
So is there any other way to get the book description other than API because not all books will be present in any free API?
Or maybe we can just go for Book Description through any API and rest everything we can input from the user.
Everything else other than Book Description can be retrieved from the user.
If you decide to input the book photo from the owner, then use the Image_picker package which is already present in the project.
We can clarify this more in Feature Discussion
Additional data
Add you book: lib/screens/add_book.dart
Private profile: lib/screens/profile/private_profile.dart
Library page: lib/screens/bookshelf.dart
Description
The user should log out when tapped on the Logout button as shown in the screenshot.
Currently, the user directly gets navigated to the initial screen without getting logged out.
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Private profile: lib/screens/profile/private_profile.dart
Google Firebase Auth: lib/services/auth.dart
Initial Screen: lib/screens/initial_screen.dart
Check for the access token expiry because the user should again login after a certain period of time (Like - a few days after logging in)
Additional data
Google Firebase auth is already setup, you just need to implement google signout.
To get the genre, rating and description of the selected book
Description
Screenshots
Steps to Reproduce
You can change the color schemes according to Figma design
You can add a few colors by yourself if something is in your mind.
Path: lib\common\themes.dart
Check for more such mismatches in other files.
Additional data
Feel free to discuss your design ideas here.
Description
The app needs to be user friendly when the orientation and sizes of mobile devices differ, it also needs to be responsive and adaptive to both android and IOS which might be a problem with some segments of code used
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Use the above-mentioned file (size_config.dart) to add MediaQuery to all the required files
Comment the names of the files here before adding MediaQuery
Check for the Renderflex issue (It will be device-specific) before adding the MediaQuery feature
Additional data
You can post the screenshot of the renderflex page or the dart file to have a discussion here.
Description
When we click on the profile button in the bottom navigation bar it doesnt loaf
Screenshots
Steps to Reproduce
Click on the profile tab in the bottom navigation bar
Check the provider folder - lib\providers
Profile page: lib\screens\profile\private_profile.dart
Auth files: lib\services\auth.dart
Additional data
None
The very first screen with the app logo before the signup screen appears
Description
Delete all the files that are fully commented. An example has been shown in the screenshot.
Screenshots
Additional data
List the names of all the files you deleted and write them in your pull request.
Feel free to ask anything in the comments and do not delete any folder before asking here.
Description
Update the Username and state in the profile page through the Userdata given by the user during login.
Additional data
@wick3ds0ul try to retrieve the data from auth and Mapbox
Description
As you can see in the screenshot, the user choice chip and personalize button is not visible and without borders respectively.
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Change the border and color scheme accordingly
Path: lib\common\themes.dart
Check for more such mismatches in other files and fix them in themes.dart file.
Additional data
We should remove all the unnecessary comments across the entire project in order to improve readability.
Description
Verify whether the exchange has been completed or not. Like a message by the Autobot asking like 'Has the book transaction been completed? ' with Yes/No option and then send an autogenerated Email that the book transaction has been done successfully.
Description
Completely remove the Facebook Authentication functionalities from the app.
Screenshots
None
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Auth files: lib/services/auth.dart
Remove all Facebook login commands if present in the UI.
Additional data
None
Description
All our chats with different individuals should be visible to us just like in WhatsApp which we can go to by clicking the logo at the navigation panel present at the bottom of the home screen. See the Screenshots.
One way of initiating chat would be (See Chat Userflows shown below): -
Any user can tap on the displayed books which will take them to the Book description
Then the user will go to the Owner's info tab which will show the owner details
After tapping the Exchange this book button we should be able to start chatting with them.
Chat Userflows
Chat Features
All our chats with different individuals should be visible to us just like in Whatsapp which we can go to by clicking the logo at the navigation panel present at the bottom of the home screen.
Screenshots
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
File location: lib/screens/chat.dart
You can make a chat folder for all the files
Additional Content
Open to suggestions for any other Chat UI as nothing has been implemented yet.
Design: https://www.figma.com/file/uhWQuE4EKDHR8AqH4p3eFK/Books-App?node-id=0%3A1
Description
To send the user credentials to the backend.
Description
To test the issue auto-closing with hacktober-done label
Description
Complete the full Setting Screen . Issues related are #48
We need to implement the following
Dark Theme
About Us, Terms and Conditions data
User Genre Selection
Additional data
We need to discuss the modalities of the Push Notifications (Whether to keep it in the Setting Screen or not) and how to implement them.
@HARSHBHUDOLIA @PiotrBlachnio @wick3ds0ul just have a discussion and see how it can be done
Description
We need to make two Collections
Books
Book ISBN Number (unique identification),
Book Name,
Book Author,
Book Genre,
Book Owner (Will contain uid of user who is inputting the book),
Book Description
Book Photo
Apart from ISBN and Book Owner all fields can be null
User
User name,
Location (lat,long),
User photo,
User bio,
User Genre Preference (top 3 preference)
If there are other things then add in case of user
Screenshots
None
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Database files: lib/services/database_service.dart
User and Book Providers: lib/providers
Additional data
We can have a discussion on Code Refactoring if required.