Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/saransh-cpp/bookrentapp-chapter3

An app where you can rent some books!
https://github.com/saransh-cpp/bookrentapp-chapter3

firebase firebase-auth firebase-hosting firestore-database flutter flutter-app flutter-ui

Last synced: about 2 months ago
JSON representation

An app where you can rent some books!

Awesome Lists containing this project

README

        

# Chapter3 - Book renting app πŸ“š






[![Flutter/Dart Lint Check](https://github.com/Saransh-cpp/BookRentApp-Chapter3/actions/workflows/Test.push.yml/badge.svg)](https://github.com/Saransh-cpp/BookRentApp-Chapter3/actions/workflows/Test.push.yml)
[![Label issues](https://github.com/Saransh-cpp/BookRentApp-Chapter3/actions/workflows/App.yml/badge.svg)](https://github.com/Saransh-cpp/BookRentApp-Chapter3/actions/workflows/App.yml)

[![All Contributors](https://img.shields.io/badge/all_contributors-17-orange.svg?style=flat-square)](#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](https://flutter.dev/?gclid=Cj0KCQiA-K2MBhC-ARIsAMtLKRsfTmxiQ9NuR3Jek8xNX896IE157icHbpgid_QF7agt4wAJRehRwvwaAjp2EALw_wcB&gclsrc=aw.ds) is installed in your system.
2. Fork this repository.
3. Clone the **forked** repository:
```
git clone https://github.com//BookRentApp-Chapter3
```
4. 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
```
5. Open the repository in [Android Studio](https://developer.android.com/studio?gclid=Cj0KCQiA-K2MBhC-ARIsAMtLKRvb-ozHxKWf5qfWZwRcnaqgvTGO90T_J3u6Pm0s-_p81IyHxGKUhL0aAtJSEALw_wcB&gclsrc=aw.ds) or in [VS Code](https://code.visualstudio.com/).
6. Run the app.
7. 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
```
3. 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
```
4. Make your changes!
5. Once done with a particular feature, bug fix, or a documentation part, add your changes to the staging area.
```
git add .
```
6. 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"
```
7. Push your changes!
```
git push --set-upstream origin
```
8. 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:

- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)

For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/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](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!