A complete Flutter and Firebase-based mobile book store application where users can browse books, filter by author/genre/rating, add books to cart, checkout, read purchased books instantly, and share ratings and reviews. The project also includes an admin panel for managing books, authors, orders, and store content.
Book Store Flutter App is a mobile e-commerce application developed using Flutter, Dart, Firebase Authentication, Cloud Firestore, and Firebase Storage.
The app provides two main experiences:
- Customer/User App
- Admin Panel
Customers can explore books, search and filter available titles, view complete book details, add books to cart, checkout, read purchased books instantly, and submit ratings and reviews.
Admins can manage the store by adding, editing, and deleting books, managing book details, uploading book images, handling authors, and viewing order-related data.
- Complete Firebase Authentication system
- Cloud Firestore database integration
- Firebase Storage for book images/files
- Customer book browsing experience
- Admin book management panel
- Cart and checkout flow
- Instant book access after purchase
- Rating and review system
- Filtering by author, genre, and rating
- Wishlist/favorites functionality
- Order tracking and order management
- Responsive Flutter UI
- Clean mobile shopping experience
- Flutter
- Dart
- Material Design
- Custom UI Components
- Firebase Authentication
- Cloud Firestore
- Firebase Storage
- firebase_core
- firebase_auth
- cloud_firestore
- firebase_storage
- image_picker
- cached_network_image
- flutter_rating_bar
- carousel_slider
- fl_chart
- intl
- User registration
- User login
- Firebase Authentication integration
- Logout functionality
- Authentication-based navigation
-
Browse available books
-
View book cover, title, author, price, language, publisher, and description
-
Explore books by category/genre
-
View detailed book information
-
Search books
-
Filter books by:
- Author
- Genre
- Rating
- Add books to cart
- View cart items
- Manage cart before checkout
- Checkout selected books
- Purchase flow for users
- Instant access to purchased books after checkout
- Access purchased books
- Read books instantly inside the app
- Manage purchased/readable books
- Add rating for purchased books
- Write review/feedback
- View book ratings
- Improve book discovery through user feedback
- Add books to wishlist/favorites
- Manage saved books
- Quickly access favorite books
- View order status
- Track purchased books
- View order history
- View store overview
- Monitor books and orders
- Manage store activity
-
Add new books
-
Edit existing books
-
Delete books
-
Upload book cover images
-
Add book details such as:
- Book name
- Author
- Genre
- Language
- Publisher
- Price
- Description
- Length/pages
- Book image
- Manage authors
- Organize books by author
- Manage genre/category-based browsing
- View customer orders
- Track order details
- Manage order status
Book-Store-Flutter-App/
│
├── android/
├── assets/
│ ├── fonts/
│ └── img/
│
├── functions/
├── ios/
├── lib/
│ ├── admin/
│ │ ├── action/
│ │ ├── dashboard/
│ │ ├── list/
│ │ └── orders/
│ │
│ ├── common/
│ ├── common_widget/
│ ├── models/
│ │ └── book.dart
│ │
│ ├── view/
│ │ ├── account/
│ │ ├── book_detail/
│ │ ├── book_reading/
│ │ ├── cart/
│ │ ├── checkout/
│ │ ├── genre/
│ │ ├── home/
│ │ ├── login/
│ │ ├── main_tab/
│ │ ├── onboarding/
│ │ ├── our_book/
│ │ ├── search/
│ │ └── wishlist/
│ │
│ ├── firebase_options.dart
│ ├── firebaseauth.dart
│ └── main.dart
│
├── test/
├── web/
├── windows/
├── firebase.json
├── pubspec.yaml
└── README.mdThis project uses Firebase for authentication, database, and storage.
Before running the project, create and configure a Firebase project.
- Firebase Authentication
- Cloud Firestore
- Firebase Storage
Enable email/password authentication from Firebase Console:
Firebase Console > Authentication > Sign-in method > Email/PasswordCreate Firestore collections for:
users
books
cart
orders
wishlist
reviews
authors
genresUse Firebase Storage for:
book_covers/
book_files/
user_uploads/git clone https://github.com/Syed-Sabeer/Book-Store-Flutter-App.git
cd Book-Store-Flutter-Appflutter pub getInstall FlutterFire CLI if needed:
dart pub global activate flutterfire_cliThen configure Firebase:
flutterfire configureThis will generate or update:
lib/firebase_options.dartflutter runRecommended Firestore structure:
books/
bookId/
name
author
genre
description
image
language
length
publisher
price
rating
createdOn
updatedOn
users/
userId/
name
email
role
createdAt
cart/
userId/
items/
orders/
orderId/
userId
books
totalAmount
status
createdAt
reviews/
reviewId/
userId
bookId
rating
review
createdAt
wishlist/
userId/
books/I developed this project as a Flutter mobile application with Firebase backend integration. My work included:
- Flutter UI development
- Firebase Authentication setup
- Firestore database integration
- Firebase Storage integration
- Book browsing flow
- Book detail screen
- Cart and checkout flow
- Instant book access after purchase
- Wishlist/favorites feature
- Rating and review system
- Admin dashboard development
- Admin book add/edit/delete functionality
- Book image upload handling
- Filtering and search functionality
- Order tracking and order management
- App navigation and user experience design
This project was created to practice and demonstrate mobile app development using Flutter and Firebase. It shows how a real-world e-commerce-style book store app can be built with user authentication, cloud database, admin management, cart, checkout, reviews, and digital product access.
- Add payment gateway integration
- Add push notifications for orders
- Add advanced admin analytics
- Add book recommendations
- Add PDF/ePub reader support
- Add dark mode
- Add user profile editing
- Add coupon/discount system
- Add better Firestore security rules
- Add role-based admin access
- Add order invoice generation
- Add unit and widget tests
- Improve folder structure using feature-based architecture
- Add Provider, Riverpod, or Bloc for state management
Before making this project production-ready:
- Do not expose admin-only features to normal users
- Add proper Firestore security rules
- Restrict book upload/delete access to admins only
- Protect purchased books from unauthorized access
- Validate all user inputs
- Avoid storing sensitive data directly in the app
- Never upload private service account keys
- Use Firebase test rules only during development
Syed Sabeer Faisal Software Engineer | Flutter & Full-Stack Developer
GitHub: https://github.com/Syed-Sabeer LinkedIn: Add your LinkedIn link here Portfolio: Add your portfolio link here
This project is created for educational and portfolio purposes. Book data, images, and files used in the public/demo version should be sample content, public-domain content, or content used with permission.
