This application is a library management application. On the opening screen of the application, you see our books in a TextField and ListView.builder. First of all, this TextField has a filtering feature. In this way, you can find long book lists faster. Our books come to our application via Cloud Firestore. With the help of StreamBuilder, any changes are instantly reflected in our application. At the bottom of the home page is an ElevatedButton. This button takes us to a new book add page. There are three TextFormFields on this page. These widgets, which are inside a Form structure, also do validation. As you can see on our Converter page, the date information entered here is converted into a format that can be understood more easily by the user. We have also updated the 'DateTime Picker' widget, which welcomes us here, by the theme of our application. In this way, it has a better structure. After the information is entered, the information is sent to Cloud Firestore by pressing the 'Save' button. All the books that appear on the home page are created inside a Card widget. Thanks to the Slidable widget, we brought the scrolling feature to our books. So when the user wants to update the book information, delete the book or create a new loan record, he can scroll. When the edit screen is clicked, the previous information of the book is automatically filled into the TextFormField sections. In this way, the user can make editing more convenient. When the user wants to create a new loan record, he should click on the ElevatedButton widget on the page that opens. A ModalBottomSheet is shown here. The scrolling and rejectable feature has been disabled so that the user cannot close this screen except for the 'Close' key. In addition, the back button of the emulator has been deactivated with the special WillPopScope widget for this section. The image_picker package has been used so that the user can put a profile photo. In this way, the captured photo is sent to Firebase Storage. In addition, if the user wants to cancel the operation, the photo is deleted from the Storage as soon as he presses the 'close' button. Apart from that, when the user presses the delete button, the book is deleted via Cloud Firestore. Lastly, we made readability improvements in the application where we perform status management with the Provider package.
Visit Firebase Core Package
Visit Cloud Firestore Package
Visit Firebase Storage Package
Visit Provider Package
Visit Intl Package
Visit Flutter Slidable Package
Visit Image Picker Package
Visit Alert Dialog Package
muharremkoroglu / bookworm_library Goto Github PK
View Code? Open in Web Editor NEWLibrary Management App with Flutter