Skip to content

A platform that allows farmers to rent farming equipment for less during the off-season.

License

Notifications You must be signed in to change notification settings

rudrakshi99/SIH2022

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Team-Gryffindor

Smart India Hackathon 2022

SIH2022

Problem Statement Code:

DB887 (Ministry of Skill Development and Entrepreneurship)

At a given time farmer equipment are idle during non-seasons. A platform that allows farmers to rent farming equipment for less during the off-season. A simple aggregation platform with call center support can function as booking equipment’s will help farmers make additional income.

Table of Contents

  1. Problem Statement Code
  2. Features
  3. Technology Stack to be used
  4. GitHub Repository Structure
  5. Getting Started
    1. Fork, clone locally and create a branch
    2. Setting Environment First Time
      1. Basic Requirements
      2. Creating Virtual Environment
      3. Installing Requirements
      4. Setting up Environment File
      5. Migrating Database
      6. Create Superuser
    3. Starting Development Server
    4. Leaving the virtual environment
    5. Update requirements file
    6. Update Database
  6. Team Members
  7. Maintainers

Features

  1. Login/Sign Up.
  2. JWT Authentication.
  3. OTP Verification.
  4. Add Equipment details related to various categories like Crop Protection, Harvesting Equipment,etc
  5. Search equipments of a particular category using the title.
  6. Filter equipment based on their category, price, availability, etc.
  7. Book and rent equipment for off-season.
  8. Track booking requests.
  9. View the list of comments and replies related to particular posts.
  10. LimitOffsetPagination for custom pagination style.
  11. Support Centre
  12. Chat with owner and customer.

Technology Stack to be used:

View in Swagger Run in Postman

GitHub Repository Structure

S.No. Branch Name Purpose
1. master contains all Frontend code
2. backend contains all Backend code

Getting Started

Fork, clone locally & create a branch

Fork Krishi Sadhan Backend repository and clone at your local

  • Fork and Clone the repo using
$ git clone https://github.com/rudrakshi99/SIH2022.git
  • Change Branch to backend using
$ git checkout backend

Setting Environment First Time

Basic Requirements

  1. Python
  2. pip

A virtual environment is a tool that helps keep dependencies required and the project isolated. If you wish to install a new library and write

pip install name_of_library

on the terminal without activating an environment, all the packages will be installed globally which is not a good practice if you’re working with different projects on your computer.

If this sounds a bit complicated, don’t worry so much because a virtual environment is just a directory that will contain all the necessary files for our project to run.

Installing venv (required once)

Windows

py -m pip install --user virtualenv
py -m venv env

Linux

python3 -m pip install --user virtualenv
python3 -m venv env

You have to start virtual environment everytime you start new terminal -

Windows

Using gitbash

. env/Scripts/activate

Using Powershell

. env\Scripts\activate

Linux

source env/bin/activate

Installing Requirements

Windows

pip install -r requirements/base.txt
pip install -r requirements/local.txt

Linux

pip install -r requirements/base.txt
pip install -r requirements/local.txt

Setting up Environment File

Configuring Environment Variables

Make environment file by copying the example file -

cd .envs/.local
cp .django .env
cp .postgres .env

Migrating Database

Windows

py manage.py migrate

Linux

python3 manage.py migrate

Create Superuser

Windows

py manage.py createsupeser

Linux

python3 manage.py createsupeser

Starting Development Server

Windows

py manage.py runserver

Linux

python3 manage.py runserver

Leaving the virtual environment

deactivate

Update requirements file (Critical)

If you have installed new dependency, the pip freeze command lists the third-party packages and versions installed in the environment.

Windows

pip freeze > requirements/local.txt

Linux

pip3 freeze > requirements/local.txt

Update Database

Everytime you change db models, you need to run makemigrations and migrate to update on database.

Windows

py manage.py makemigrations
py manage.py migrate

Linux

python3 manage.py makemigrations
python3 manage.py migrate

Team Members:

"Team Members"

S.No. Name Role GitHub Username:octocat:
1. Rudrakshi (Team Leader) Backend Development @rudrakshi99
2. Sarthak Shukla Frontend Development @sarthakshukla1316
3. Suyash Rastogi Frontend Development @suyashrastogi7
4. Anmol Srivastava Backend Development @anmolsrivastava1
5. Parth Sharma ML Engineer @ParthSharmaT
6. Kushal Gautam UI Designer @kushalgautam

Maintainers✨


Rudrakshi

💻

Sarthak Shukla

💻

Anmol Srivastava

💻

Parth Sharma

💻

Kushal Gautam

💻

Suyash Rastogi

💻

Uses Git forthebadge Built with love Built By Developers