Skip to content

Saransh-cpp/BookRentApp-Chapter3

Repository files navigation

Chapter3 - Book renting app 📚

Flutter/Dart Lint Check Label issues

All Contributors

A book renting app - open a new chapter in your journey 📔

  • An e-commerce application specifically made for renting books.
  • Chapter3 displays collections of top selling books as well as the option to have your taste curated and matched with a book.
  • Customers can filter and select books based on genre, after which placing immediate or deferred orders with the option to cancel.
  • If the customer isn't sure about a purchase they can add the book to a wish list or just leave it in the cart.
  • There is also a backend Flutter application present which is used by administators to maintain the collection and available stock (which is private to customers obviously 😀)

This application was built in Flutter using Dart. Firebase paired with Firestore as a noSQL database are the backend of Chapter3. Functionality has been finalized, albeit with minor issues. Refactoring and UI work is also needed on this project besides the bug fixes.

Description of the codebase

The code is well arranged into sub-directories which are -

  • Screens (all the screens of the app, which are a lot)
  • QuizScreens (the app has a quiz, which suggests you 1 or more books based on your response, this feature is relatively new and might have a lot of bugs)
  • Utility (utility files (only 1) meant for google sign in)
  • model (all the data models)
  • provider (all the providers used for state management)
  • services (all the utility functions/services corresponding to different data models)

App Screens

Setting up the project in your local environment💻

  1. Make sure Flutter is installed in your system.
  2. Fork this repository.
  3. Clone the forked repository:
git clone https://github.com/<your github username>/BookRentApp-Chapter3
  1. Add a remote to the upstream repository:
# typing the command below should show you only 1 remote named origin with the URL of your forked repository
git remote -v
# adding a remote for the upstream repository
git remote add upstream https://github.com/Saransh-cpp/BookRentApp-Chapter3
  1. Open the repository in Android Studio or in VS Code.
  2. Run the app.
  3. Create a new issue if you face any difficulties (after browsing through StackOverflow on your own) and someone will help you 😁

Contributing to the project 🛠

Now that you have the project set up in your local environment, follow the steps below to contribute!

  1. Take up an already existing issue or create a new (but a valid) one.
  2. Pull the latest code in.
# make sure you are on the master branch
git pull upstream master
  1. Create a new branch.
# replace xx with the issue number you are working on and give your branch a good name
git checkout -b issue-xx-a-good-name
  1. Make your changes!
  2. Once done with a particular feature, bug fix, or a documentation part, add your changes to the staging area.
git add .
  1. Review and commit your changes.
# the message should be in present tense, for ex - "Added feature x" is not ideal but "Add feature X" is
git commit -m "a meaningful message"
  1. Push your changes!
git push --set-upstream origin <your-branch-name>
  1. Create a pull request from GitHub and wait for the review!

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Saransh

💻 🖋 📖 🎨 🤔 🚧 🧑‍🏫 📆 👀 💬

Anthony De la Torre

🖋 📖 🎨

Harshit Seksaria

💻 📖 🐛 📦

TESLA2402

💻

Vaibhav-Chopra-GT

💻 🚇

Pranav Pratap Singh

🤔 🐛 💻 🎨

Atharv Bhadange

💻

aman2kumar

📖

mortal-ghost

🐛 💻

Pushkar Verma

📖

raviyadav17

💻 🎨

Dhrubojeet Haldar

💻

Akshat Jain

📖

HARSH RAO

📖

Ramesh M S

👀 🧑‍🏫

Arnav Sharma

🧑‍🏫

navee-ramesh

🧑‍🏫

This project follows the all-contributors specification. Contributions of any kind welcome!