Skip to content

Roaim/DTBazar

Repository files navigation

দশ টাকার বাজার or Ten Cent Market License: GPL v3

A virtual market where people can directly donate to a specific food at a specific shop so that poor people can buy that food at a cheap rate. Initially, the donation will cover 80% of the actual price though the project name suggest a fixed price i.e. ten cent but practically is not possible for a wide variety of food types. However, if we include foods with price ~50 cent then people will be able to buy it for ~10 cent. So, we should primarily focus on some basic foods which are sold under USD 1.

The 3 simple steps:

  1. Store owner creates store and adds food that will receive donation
  2. Donor finds a nearby store and donates to a food at that store
  3. Poor people buy food at a reduced rate by scanning their national id card at that store

Platforms

  • API (Backend)
  • Android
  • IOS
  • Web (Frontend)

Android Overview

The Android app lets you:

  1. One click login into the app using your facebook account
  2. Browse nearby stores
  3. View available donation in a particular store
  4. View available food stock in a particular store
  5. Create food definitation
If you are a store owner it lets you:
  1. Create stores
  2. Add foods to store which will receive donation
  3. Approve donation which is given by a donor
  4. Add food stock
  5. Sell donated foods
If you are a donor it lets you:
  1. Find a nearby store
  2. Donate to a food at a nearby store
Important: The buyers don't necessary have to be a user of the app in order to purchase. All they need to do is bring their national id card to make the store owner able to scan it to reduce fraud purchases.

Technical Details

  • Click on, dtb-android folder, to know the technical details about android project.
  • Click on, release to find the latest releases.

Install Demo Version

Preview

Android app preview

Install Test Version

If you are not a tester, become a tester by joining alpha-testers-of-dt-bazar group.

API Overview

The API is developed using Spring Boot (Java) and Micro Services architecture.

  • Click on, dtb-api folder, to know details about API project.

API Documentation:

https://vm03.hidayahsmart.solutions/dtbazar

Preview

API Doc Preview

Contribution

Everyone is welcome to contribute to any platform of this project. Just make sure you create an issue explaining briefly what you are gonna supposed to do before you start working. Platform wise contribution guidelines can be found in their individual README.md.

Version Control

The project belongs to a single git repository containing all platforms. It follows a mixture of trunk based development and git flow. Following guidelines must be followed to contribute:

Branching

Git Branching Preview

  • The readme branch is where all commons files are placed.
  • New platform must create a new branch from readme.
  • Platform's branch should be merged directly to master.
  • Feature branch should be merged to platform's branch which was created from readme
  • Common files must not be modified in the platforms' branches. They should be modified in the readme branch and merged directly to master.

Naming Convention

  • Platform's branch name should be same as platform name. Ex. android
  • Platform's folder name pattern should be, "dtb-{platform_name}". Ex. dtb-android
  • Feature branch's name pattern should be, "{platform_name}-{feature_name}". Ex. android-login

Commit Message Pattern

  • In general (except for api) commit message pattern should be, "{platform_name}: {commit_message}". Ex. android: fix crash due to internet permission
  • For api, commit message pattern should be, "#{service_name}-service# {commit_message}". Ex. #auth-service# integrate facebook login. This will help git post-receive hook to restart that particular service. If your commit is not intend for restarting any service then the commit message should start with api: instead.

Android Version Convention

  • Android app versioning followed semantic versioning.
  • Major is determined by api version
  • Minor is the issue number of a new feature
  • Patch is the issue number of a bug or enhancement