Code Monkey home page Code Monkey logo

bechdo-application's Introduction

bd

BechDo

Do you think you made a mistake buying some goods in your freshman year that you no longer need? Do you feel the urge to clear up that clutter and make room for something more useful? Are you up for for selling/renting it to your juniors so that they don't end up making the same mistake and could save a few bucks?

Well then we've got your back! Presenting BechDo

✨List your product on the app so that potential buyers from your college, i.e. your juniors can contact you via the inbuilt chat functionality and close the deal. You can even keep a track of your active products and mark them as unavailable or permanently delete them if they have been sold.

✨The ones looking to buy some stuff can simply go through the various products offered, filter them based on type(For sale or Rent), college, category and/or price, add some of them to their wishlist and obviously contact the seller.

So what are guys waiting for, BechDo pe BechDo or Khareed Lo 🙃

Join Code Sauce discord server for project updates, weekly meetups and insights.

Discord Youtube

Tech Stack

Figma Adobe XD Android Firebase Kotlin

Features✨

  • Authentication : This is implemented using Firebase Auth. A first-time user needs to sign up upon opening the app. On doing the same, the user will receive a verification mail. The link in the mail will verify the user after which they can sign in. If the mail is not sent due to any error, there's an option for the user to request for it again at an interval of 30 seconds. The user upon forgetting the password can use an option to reset their password, through which they will receive a mail, which will direct them to change the same.

  • Create and Edit Profile : Users need to fill out a profile section mentioning their name, date of birth, college name and year, profile picture is optional. The college name has to be selected from a drop-down list. In case, user's college is not present in the list then they will have to contact us to get it updated on our server. College name and date of birth cannot be changed once entered.

  • Sell/Rent Products : While listing a product, users need to provide a short description, title, category and images (atmost 7). Images are compressed while uploading to 25 % of their quality, still smaller image sizes are preferable.

  • Track/Remove products : The sellers can track the products posted by them in the Active Products section. They can also mark them as unavailable temporarily (after which they will be visible in the Sold Products section) or remove them permanently.

  • Search Products/Add Filters : Users can make use of title based search for Products and can also filter them based on type(for sale/rent/both), category, college and price.

  • Favourites : Users can mark the products as favourites but this is limited to 10 products (due to Firestore's restriction on whereIn query on arrays, which has been employed to fetch products using an array of favouriteProductIds of user, stored online to provide a multi-device experience).

  • Messages : Buyers and sellers can chat with each other to negotiate price and discuss the sale. The Chat functionality has been implemented using Firebase Realtime Database. Users also get push notifications for any new messages (not real-time but updated every 15 minutes using Jetpack Work Manager).

  • Help : Users can check out this FAQs section in the app to clear out their queries.

Maintainers


Shitiz Aggarwal

Product Designer/Web


Aakash Gupta

Lead Android Developer


Nidhi Singh

Android/Web Developer


Yatharth Mago

Android/Web Developer


Titiksha Sharma

Flutter/Web Developer

Setting up the project and Installation

BechDo requires Android studio to run.

Install the dependencies to get started.

fork the project

Using the fork option just below your profile image

clone the project in your own device

git clone 'https link'

make a new branch

git checkout -b 'name_of_your_new_branch' 

open project in Android studio and do the needful changes

Branches

The repository has the following permanent branches:

  • main This contains the code which has been released.

  • develop This contains the latest code. All the contributing PRs must be sent to this branch. When we want to release the next version of the app, this branch is merged into the main branch.

Contributing

Please read our Contributing guidelines and Code of Conduct

If you are new to open source check out How to Start

Thanks to these wonderful people ✨✨:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.