Welcome to the Book Review App, a platform where users can submit and view reviews for books and their adaptations. This application uses Flutter for the front-end, Firebase for the backend, and provides functionalities such as user authentication, book and adaptation ratings, and user profiles.
- User Authentication: Secure login and registration using Firebase Authentication.
- Book and Adaptation Reviews: Submit reviews for books and their adaptations, with separate ratings for source material, adaptation, and similarity.
- User Profiles: View and update user profiles with name, bio, and recent reviews.
- Highest Ratings and All Titles: View books with the highest ratings in different categories and browse all titles alphabetically.
- Real-time Updates: Reviews and ratings update in real-time using Firebase Firestore.
- Flutter installed on your machine. Install Flutter
- Firebase account with a project set up for the app. Firebase Console
-
Clone the repository:
git clone https://github.com/your-username/book-review-app.git cd book-review-app
-
Install dependencies:
flutter pub get
-
Set up Firebase:
- Follow the instructions to add your Firebase project's
google-services.json
(for Android) andGoogleService-Info.plist
(for iOS) to the respective directories in your Flutter project. Adding Firebase to your Flutter app
- Follow the instructions to add your Firebase project's
-
Run the app:
flutter run
The home screen has a bottom navigation bar with two options:
- Highest Ratings: Displays three rows of books with the highest ratings for source material, adaptation, and similarity. Each row is horizontally scrollable.
- All Titles: Displays a vertically scrollable list of all book titles sorted alphabetically.
- Book and Adaptation Details: View detailed information about the book and its adaptation.
- Submit Review: Click the "Submit a Review" button to rate and review the book or adaptation.
- User Reviews: See user reviews with ratings and comments.
- User Information: View and edit your name and bio.
- Logout: Log out of your account.
We welcome contributions from the community. To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter: For providing a powerful and flexible framework for building the app.
- Firebase: For backend services including authentication, Firestore, and hosting.
- Contributors: Thanks to all the developers who have contributed to this project.
For a detailed overview of the project requirements, features, and design, please refer to the Software Requirements Specification (SRS) document.