Repository navigation
SRS
Nafis Khan, ID: 1712322642
Md. Asif Dewan, ID: 1811199042
Nazifa Muniat, ID: 1821658042
Erfan Mostafiz. ID: 1912734042
North South University
Software Engineering (CSE327)
Section - 05
9th July, 2021
Revision History
In a third world country like Bangladesh, agriculture is one of the largest sector. About 50 % of the population are employed in this sector and about 70 % people overall depend on agriculture for their livelihood. The average share of agriculture as a proportion of GDP is 29.65 % as of 2019. According to the World Bank, the total arable land in Bangladesh is 61.2 % of the total land area.
Despite these statistics, it is a matter of sorrow that the Backbone of this sector, the farmers are not getting their fair share of the part as different types of middlemen are engaging in their trade. For this reason, farmers are being underpaid and losing their interest in farming, which may lead to an economical breakdown.
Our solution to this problem is "Krishok Bangla" a digital B2B Agricultural market solution which will help farmers and dealers to connect with each other and allow the dealers to buy crops and vegetables from farmers all over Bangladesh. This system will work as a bridge between farmers and dealers and would decrease many hassles of traditional crop buying methods and would increase profitability and efficiency for both farmers and the dealers.
To create a web application "Krishok Bangla" which is an Online Agricultural Marketplace that will help farmers and dealers to connect with each other and allow the dealers to buy crops and vegetables from farmers all over Bangladesh. It will be a digital B2B market solution which will enable the farmers to post their items, contact dealers via messages, view profile info of both farmers and dealers. Dealers will be able to select crops, see location of the crop in map, keep track of his orders etc.
- Developers
- Project Testers
- Marketing Department
-
Developers: Developers can use this SRS to easily understand what’s the project about, which part they should focus more, which part to improve, find if there is any scope to add new features or function for any upgrade.
-
Project Testers: Testers can use this SRS to test the application as per requirements. This will make the testing more organised as from SRS, testers can easily get the idea where to look and what errors/ bugs hey should be looking for.
-
Marketing Department: Marketing department can use this SRS to get an idea about what they are going to promote and what are the features of this project and how this features will help the clients or users.
This is a web based application for farmers and dealers who will buy and sell crops from farmers and dealers all over the country. Our Goal with Krishok Bangla is to provide easy access and solution for both the farmers and the buyers. This is a completely new application which will contain some features that will decrease hassle, uncertainty and low profitability of the farmers.
Benefits of this web application :
- User can create his own marketplace.
- User can order crops at home.
- User can search for crops according to category and other filters.
- User can see the availability and price of the crops that he wants to order.
- User will have option to view every content of this Website either in English or in Bengali Language.
- User can have a converter which helps to calculate the price of a given unit of a given product from BDT to Euro or USD.
- User can have a hassle-free communication between farmers and dealers using the direct message feature.
- User can see all the information about crops listed in the marketplace inluding the price, picture and date of harvest.
- User can place orders and then track them.
- Users can make payment without being hacked or spammed.
- Users can read articles from the "Blogs and Articles" Section and increase their knowledge about farming and agriculture as a whole.
- Service providers can also use this application to update their information and services.
Objective of our web application is to:
- Give online platform to the farmers to sell crops by their own.
- Give online service to the dealers to order crops and buy from home.
Goal:
- Our Goal is to provide easy access and solution for both the farmers and the buyers.
- This will ensure farmers to get their fair share of part and increase their profitability by stopping interference of middlemen in their trade.
- This will enrich farmers knowledge about cultivating.
- This will ease the buying process of the dealers and would eliminate the hassles of offline traditional buying
- Too many server request is not controllable for the server.
- Too much user at a same time can cause server traffic.
- Internet issues can create problem while ordering or conversing between farmer and dealer.
- All the farmers might not have a smartphone or a computer to get access into the web page.
- There may be potential spammers and frauds in the marketplace.
Krishok Bangla will be a dynamic website which will act as the online marketplace for buyers and sellers in Bangladesh. This will be a B2B online marketplace for buying or selling agricultural products. In our country there are many online shops for many different types and categories of products but until now there is no such online website or app that hosts a marketplace for agricultural products in our country. There are solutions like this Internationally and also in our neighbouring country India, but nothing like this is yet to be found in Bangladesh. So our website "Krishok Bangla" will be a completely new product in the online marketplace catering to farmers and dealers all over Bangladesh.
This web based application will decrease the hassles of buying or selling crops offline and would increase the efficiency and profitability of the farmers. Farmers will be able to add their products to the markeplace and buyers will be able to view and buy them with one click. This application will be user friendly that is easily accessible so anyone can use it to access the marketplace.
- User can be a farmer
- User can be a local dealer
- User can be an international buyer
- User can be an admin who manages stuffs and can post, edit or delete articles in the Blogs Section
- User can be a person interested in knowing the current raw prices of crops
- User can be a person interested in reading the agriculture related articles in the blog section
- User can be anyone interested in viewing the contents of the website
- Farmers will list their crops into the online marketplace including details, prices and pictures.
- As this is an agricultural marketplace, buyers will need to know when was the crop harvested to ensure good quality. Hence the farmer will also include the day the crop was harvested along with the crop details.
- Buyers will Add to Cart all the products they selected.
- This Cart will display the quantity and unit price of each individual crop and the total price of all the products including shipping charge.
- Farmers will be able to see the products and the quantities ordered by buyers and will forward them for shipment.
- Buyers will be able to pay online (Debit/Credit Card, Bkash, Nogod, Rocket) or Cash on Delivery.
- If it is a local dealer then they will pay online through local gateway.
- If it is an international buyer then they will pay online through international gateway.
- Viewers of the website can view the current prices, crop information or articles and other contents of the website.
Operating Environment for Krishok Bangla is listed below:
- Operating System: Any Operating System (Windows, Mac, Linux, etc) which supports browsing
- Database: Mongo DB
- Front-End Interface: HTML, CSS, JavaScript
- Back-End Platform: JavaScript, NodeJS Framework for backend JavaScript Runtime Environment
- JavaScript has been used as the Programming Language to Develop this website
- The Web Application must run in every version of client’s operating environment
- The Web Application should be dynamic and would notify instantly for any direct messages or new notifications
- The website has to be developed, tested and deployed within 2 months
- Users (Farmers or Dealers) can read and write either English or Bengali
- Users have devices that support internet browsing
- Users can browse for crops and and list new crops in the marketplace
- Users have good internet connection
- Users are familiar with web browsing and can interact with the website
- Users will trust the online marketplace and will be interested to buy agricultural products online.
-
As a New User
I want to register with all the information needed
so that, the system can create my account and remember me and my data.Confirmation
- User will put his Full Name, Email ID, Password, Phone Number, Address, NID Card number, and a photo of the User - a clear picture that matches with the picture in NID.
- User has to create a password and reconfirm it.
- If two passwords are different then it will show an error text to the user.
- If any of the text fields left blank then it will show an error.
- User will be asked to enter a new username if there is an already existing user with similar name.
- User will receive a confirmation email if the registration executes perfectly.
- User will see a message of successful account creation after validation.
-
As a User
I want to log in with my username and password
so that, I can get access into the system.Confirmation
- Users will get access to the features that their account permits them.
- If the user doesn’t have an account yet then he has to register first.
- If the user enters a wrong username or password then they will get an error text.
- If the user enters a wrong password, then the log-in page will appear again only with the filled username leaving the password text field blank.
- If the user forgets his password, then he has to click the "Forgot Password?" option to recover that.
- User can save his password so that he can directly enter into the system during his next logins.
- System will note down the login attempts with time.
- If the user attempts to log in unsuccessfully thrice in a day, he will get a warning message.
-
As a Farmer
I want to list all my available crop details into the marketplace
so that, Buyers can see all the Crop details and the price.Confirmation
- Only Authorized farmers who have verified accounts can add their product to the marketplace.
- In the marketplace dashboard, Farmers will see "Add Product" Button where they will click.
- Farmers have to include the category of the crop or the crop type.
- Farmers have to add a recent good quality picture of the crop.
- Farmers will input the price per unit in BDT.
- Farmers will include the date the crop was harvested.
- Buyers (Local Dealers or International) can view the crops listed in the marketplace along with the details.
-
As a User
I want to Search for crops available in the marketplace
so that, I can proceed to Place Orders for the ones I am interested in.Confirmation
- Users will be able to search for Crops in the search bar in the Marketplace Dashboard.
- Users will be able to search by Crop Category or Type.
- Users will be able to use filters while searching to make the search results more efficient.
- Search Filters will include Search by Date, by Price, by Available Units, etc.
-
As a User
I want to Communicate with the buyer or the seller
so that, I can get to know more about the product or the quality or ask for any special requirements.Confirmation
- Users will be able to communicate via the Direct Message Option.
- Buyers will be able to see Message option for the farmer in the marketplace beside the crop details.
- Buyer will click on the Message button and a tab will pop-up.
- In this tab the buyer will be able to directly message the seller (the farmer) regarding his concerns.
- All the messages sent and received will be stored in the database for proof of fraud.
- There will also be a button beside the crop details which will re-direct the user to send a mail to the seller in their Email ID.
-
As a Buyer
I want to Place an Order if the product matches my interest
so that, I can buy the desired amount of crops that I needConfirmation
- From the marketplace Buyer will be able to Order for the crop he needs by clicking on "Order now" button
- Buyer will have to mention the quantity that he needs.
- The product that the buyer placed an order for along with the quantity and the price will be Added to the Cart.
- Buyer may place as many order as he wants from different farmers and for different crops.
- Buyer will be able to see everything he ordered for in his Cart including the Unit price and the Quantity.
-
As a Buyer
I want to track my order
so that, the system can give me enough information about my product / order after I have placed it.Confirmation
- User will place order by completing all the necessary steps.
- User will get an order id after creating a successful order.
- If the order has not been created properly, user will not get any order id.
- There will be a separate "My Orders" Tab in the dashboard.
- By clicking this tab buyers will be able to view the status of their Order along with the Order ID.
- A tick mark animation will show which processes of the order has been completed and which processes are yet to be completed.
- User will be able to see if the product is on processing, has been shipped, picked, delivered or returned.
-
As a User
I want to be assured of a proper refund system
so that, I can get my money back, if any type of cancellation occurs.Confirmation
- Users will be able to cancel their orders within 72 hours.
- Users will get confirmation message by the system before confirming any cancellation.
- If user doesn’t receive the ordered item in given time period, the system will provide him a refund form.
- User can receive the refund via provided payment method.
- User may get full refund if applicable
-
As a User
I want to get the latest updates regarding my order easily
so that, I can keep myself updated.Confirmation
- Users will be able to see notifications (if any) through their profile in the Notifications tab in the dashboard denoted by a "Bell" Icon.****
- Users will also get notifications via mail in their devices.
- Users can choose to continue or discontinue receiving mails.
- Users can turn off notification for given time period.
-
As a User
I want to have a list of all the items I selected in one place
so that, I can see all the items I am interested to buy, their individual prices and have a total amount.Confirmation
- Users will be able to add any item to a cart.
- Users can remove any selected item from the cart.
- Users can preview their cart at anytime.
- Users can clear all the items from their cart.
- Users will be able to see the individual prices of the crops and the total net price.
-
As an Admin
I want to create or edit blogs or articles
so that, I can provide updated news and articles regarding agriculture to users of the applicationConfirmation
- There will be a separate "Blogs and Articles" section where Admin will get access to post, edit or delete blogs and articles related to agricultural stuff.
- Users will be able to read them and comment.
- Admin can go through feedback given by users and take action accordingly.
- Admin can see which User has commented on the article or the blog.
-
As a User
I want to go through different articles or blogs
so that, I can get some information about on-going production or sale and also keep myself updated about agriculture in Bangladesh.Confirmation
- In the "Blogs and Articles" section, users will be able to get access to read blogs and articles related
- to agriculture, farming and the marketplace.
- User will be able to leave feedback in the form of comments.
- User will be able to view other User’s Comments.
- If the user likes an article, then he/she can like or even can dislike the article.
- User will be able to see how many likes or dislikes the article or the blog post got.
Performance Requirements
- This system should work very fast and it must have better design to get better performance at peak time.
- Response to any kind of interaction must take no longer than 3 seconds to appear on the screen.
Security Requirements
- The system will use a secure database so that hackers or spammers cannot get past the security.
- Normal users can just read or write information but they can not edit or modify existing information.
System Availability
- The system should be available at all time 24/7 hours a day without any interruption.
Error Handling:
- The system must handle expected or non-expected errors in ways that prevent loss of information and
- long down time period.
- Corner cases and exceptions must be handled without any failure.
Maintainability
- Proper maintenance procedures must be performed in a scheduled basis to keep the system running smoothly.
Searching Requirements
- The system should take no longer than 3 seconds to return search result according to user need.
Safety Requirements
- Our system must ensure that important customer data should remain hidden.
- System use must not cause any harm to human users.
B2B: Business-to-business (B2B), also called B-to-B, is a form of transaction between businesses, such as one involving a manufacturer and wholesaler, or a wholesaler and a retailer. Business-to-business refers to business that is conducted between companies, rather than between a company and individual consumer.
NID: The National Identity Card (NID) is a compulsory identity document issued to every Bangladeshi citizen upon turning 18 years of age. The NID is a government issued photo ID just like the Bangladeshi Driver’s licence, which is also a bio-metric, microchip embedded, smart identity card. The NID is required by Bangladeshi citizens for multiple essential public services in the country, such as obtaining utility connections, as well as private services, such as opening bank accounts.
SRS: SRS Stands for Software Requirements Specification. It is a description of a software system to be developed. The software requirements specification introduces the Project, gives an overall description about it and lays out functional and non-functional requirements of the Project. It may include a set of use cases that describe user interactions that the software must provide to the user for perfect interaction and the perfect solution. This SRS will be used by the current and future Developer team and the maintenance team.