Auction is another practice app.
I have learn more things from this project
Auction is android app version.In this app user can add new auction post and see all bid list and update bid list in specific date of post.and check dashboard of summary of product.The app was made with Flutter as a Frontend technology and Firebase as a backend
Table of Contents
-
User Login and Registers.
-
Home page
-
Details Page
-
Mypost item
-
Add item
-
If current user is win any bid then show 1st image. if other user win show 2nd image
-
Report Option and Post owner cant't perform report. 2nd image other user and 3rd image post ownner
-
Post owner cant't perform favourite option and bid option
-
Favourite Page
-
User profile
-
Get chart view from running bid ,completed bid ,i have 10 item in firebase that's why time series line is simple but when you added more item then it is will be more beautiful
- Flutter
Features and Plugins I've used:- Firebase
- Getx
- image_picker
- charts_flutter_new
-
Flutter
Flutter has a greate documentation for enviroment setup
-
Login and Register screen was a simple with firebase
-
after login when you click in floatingActionButton then you see simple from that is input from you to post item . in this case i use from and image_picker to pick image from camera and gallery and datetime picker to get datetime for endtime of bid .. that's why i use those
-
home page when you add new post then you show this post in you gallery tab with other user post. to make this function i use getx with rxdart to get all item as a reactive approach.but i use user.email for unique identifier because firebase not allow to registration as a duplicated email that why i use but i know this harmful for database security this is my bad and sorry for that.. and i create a current user check function to get current user.email for unique identifier
-
myposteditem in this section just show you post when you add new post.. you can see how many post you. this is like same just filter user.email and you get just your post item
-
details page when you click item and you go to details page.you can see product image,price , description ,all bids, and add bit button for make new bid . and if timeend for this item then you can see winner of bids.. and you can add new bid and update this bids to make this function
-
i check in ui that if (currentDateTime.isAfter(enddate) ||enddate == currentDateTime) {"can't make bid time is gone"} otherwise you can make new bid
-
i face simple problem for update bid price in firebase that is "i can't update map item of list" after thinking i make simple solution that fist remove previous item and add new item -->for remove "users.doc(bitListUpdatedModel.auctionid).update({ "bidlist": FieldValue.arrayRemove([ {"useremail": currentUserEmail, "bidprice": bitListUpdatedModel.previousbidprice} ]) });" -->for add " users.doc(auctionid).update({ "bidlist": FieldValue.arrayUnion([ {"useremail": currentUserEmail, "bidprice": bidprice} ]) }); " then i see my updated bid price .. this my solution..
-
and when your item date gone you show in details page who is winner to make this function.this is easy this is max numner find algorithm