This repository is part of the Books E-Commerce Suite. It is the customer-facing shopping interface built with Flutter, consuming the Books Backend API.
The Books Mobile App is a cross-platform application built with Flutter & Dart, delivering a full e-commerce shopping experience for end users — from browsing and purchasing books to tracking orders and contacting support.
| Layer | Repository | Technology |
|---|---|---|
| ⚙️ Backend API | books-API | .NET 9 |
| 🌐 Admin Panel | books-admin-panel-mvc | ASP.NET Core MVC |
| 📋 Project Overview | Books Suite (Main Repo) | — |
- User registration and login
- Mandatory email verification upon sign-up
- Simulated OTP / SMS verification flow
- Browse books with dynamic "Best Sellers" sorting
- Advanced filtering by category, price, and more
- Wishlist — save and manage favorite books
- Book detail pages with ratings, reviews, and photo uploads
- Dynamic cart operations (add, remove, update quantity)
- Multiple address management — add, edit, and select delivery addresses
- Conditional shipping fee calculation based on order total or address
- Visual order status tracking interface (e.g., Preparing → Shipped → Delivered)
- Automatic E-Invoice PDF generation upon order completion
- In-app messaging to contact Admin support team
- Powered by Google Gemini AI for automated responses and book recommendations
- Rate and review purchased books
- Upload photos alongside written reviews
| Technology | Purpose |
|---|---|
| Flutter & Dart | Cross-platform UI Framework |
| Http Package | REST API communication |
| Google Gemini AI | AI Chat & Recommendations |
- Flutter SDK (stable channel recommended)
- Android emulator / iOS simulator or a physical device
- The BookNest Backend API must be running locally
git clone https://github.com/yucezis/books-mobile-app.git
cd books-mobile-appflutter pub get
⚠️ Important: Do not uselocalhost— mobile devices and emulators cannot reach your PC's localhost directly.
Find your local IPv4 address:
# Windows
ipconfig
Then update the baseUrl in the project (e.g., lib/constants.dart or equivalent config file):
const String baseUrl = 'http://192.168.x.x:YOUR_PORT';Make sure both your device/emulator and your PC are on the same Wi-Fi network.
flutter run- Name: Zişan Yüce
- Role: Computer Engineering Student
- Project: Graduation Project — Books Full-Stack E-Commerce Suite
⭐ If you find this project useful, consider starring the repository!