Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 3.21 KB

README.md

File metadata and controls

73 lines (51 loc) · 3.21 KB

code style: prettier license

An ongoing project

About Farmy

Logo

Farmy is an efficient AgricEcommerce solution where everyone can buy fresh agricultural products directly from farmers and allow farmers to sell their products with no extra fees in between. It is an online market for buyers and sellers, but exclusively for the agricultural sector

Here's why:

  • Middlemen intervention raise price for consumers. Farmers encounter high production costs in their efforts to boost production but hardly get fair pricing of their products from the middlemen. This attitude of middle men have discouraged genuine investors getting into agriculture because of the marginal profit associated with it as the middle men cart away the bulk of the profits. Thus, the activities of middlemen seem to be a threat to food security.

  • Farmy allows farmers to freely list their produce and allows potential sellers to go through them. The buyer can list the quantity of the produce. Location of the buyer is also listed. Sellers can browse through the listed products and contact the buyer directly.

Backend API Built With

List of major frameworks use to build getIdea.

API Server

  • API:
    • Authentication system - express-session
    • Authorization system
      • Role-based access control
      • Principle of least privilege
    • Input validation and sanitization - validator
    • Integration testing - jest - supertest
    • Docker support - node
    • API Security
      • The API is protected with express-session. This allows the application to identify authorized users and restrict access to data for unauthorised users
      • Passwords have also been hashed with strong a crypto-algorithm.
      • A structure has been established for the implementation of rate-limiting, to circumvent DOS security vulnerabilities with the system.
      • user inputs are sanitized against xss and Nosql injection

Getting started

1. Clone the repository

git clone https://gitlab.com/calvin-puram/farmy.git
cd farmy
cp .env.example /.env
# Edit all three .env files to meet your requirements

2. Install package dependencies

In the root directory, run:

npm install

3. Start development servers

You can start the server using docker-compose:

docker-compose up -d