Sujal Report
Sujal Report
Bachelor of Technology
in
Computer Science and
Engineering
by
Sujal sharma
Roll No: 2115001013
GLA University
Mathura- 281406, INDIA
April, 2025
Department of Computer Engineering and
Applications
GLA University, 17 km Stone, NH#2, Mathura-Delhi
Road, P.O. Chaumuhan, Mathura-281406 (U.P.)
I hereby declare that the work which is being presented in the
B.Tech. Project “Pharmacy Management System”, in partial
fulfillment of the requirements for the award of the Bachelor of
Technology in Computer Science and Engineering and submitted
to the Department of Computer Engineering and Applications of
GLA University, Mathura, is an authentic record of my own work
carried under the supervision of Rashmi Darshan Pawaskar,
Manager, Capgemini.
The contents of this project report, in full or in parts,
have not been submitted to any other Institute or University
for the award of any degree.
Sign ______________________
Name of Student: Sujal Sharma
University Roll No.: 2115001013
Certificate
_______________________
Supervisor
(Name of Supervisor)
Designation of Supervisor
Dept. of Computer Engg, & App.
______________________
______________________
Project Co-ordinator Program Co-
ordinator
(Dr. Mayank Srivastava) (Dr. Nikhil Govil)
Associate Professor Associate Professor
Dept. of Computer Engg, & App. Dept. of Computer
Engg, & App.
Date:
ACKNOWLEDGEMENT
Sign: _____________________
CHAPTER 1 Introduction
1
1.1 Overview and Motivation
2
1.2 Objective
3
1.3 Summary of Similar Application
4
1.4 Organization of the Project
6
CHAPTER 2 Software Requirement Analysis
10
2.1 Technical Feasibility
11
2.2
CHAPTER 3 Software Design
35
3.1 This is the Section
3.1.1 This is a subsection
40
CHAPTER 4 Implementation and User Interface
48
CHAPTER 5 Software Testing
58
CHAPTER 6 Conclusion
60
CHAPTER 7 Summary
62
CHAPTER 1
Introduction
1.1 Overview and Motivation
Motivation Highlights:
1.2 Objective
Specific Objectives:
With these goals in mind, the CDMS aims to serve as a digital backbone
for the future of agricultural commerce.
a. Hardware Feasibility
Client-side (Farmers/Dealers/Admins)
o Device: Desktop, Laptop, or Mobile
o RAM: Minimum 4 GB
o Processor: Dual Core Intel i3 or equivalent
o Browser: Chrome, Firefox, Edge (latest versions)
Server-side (Backend Hosting)
o RAM: Minimum 8 GB
o Processor: Intel i5 or higher
o Storage: SSD (100 GB minimum recommended)
o OS: Windows Server 2022 or Ubuntu 22.04 LTS
b. Software Feasibility
As of now, the system is legally sound for both academic and pilot real-
world use cases.
b. Farmer Functionalities
c. Dealer Functionalities
d. Admin Functionalities
e. Payment Functionalities
a. Performance
b. Security
c. Usability
d. Scalability
e. Maintainability
f. Availability
2.9 Summary
a. Authentication Module
b. Farmer Module
c. Dealer Module
d. Admin Module
Table Overview
Table Name Description
Users Stores all user information and role mappings
Roles Defines user roles (Farmer, Dealer, Admin)
Crops Contains crop listings from farmers
Banks Stores bank account details for users
Subscriptions Links dealers to the crops they're interested in
Ratings Stores dealer ratings for farmers
Invoices Captures transactional data
Class diagrams are based on LLD and include key classes such as User,
Crop, Bank, Invoice, Subscription, and Rating. Each class maps to a
database entity and includes business logic validation methods.
3.5 Use Case Diagrams
3.5.1 Farmer Use Case
Register/Login
Publish crop
View dealer subscriptions
Track payment and ratings
3.5.2 Dealer Use Case
Register/Login
Search/Subscribe to crops
Rate farmers
Make payments and download invoices
3.5.3 Admin Use Case
3.10 Summary
This chapter presented the technical and architectural design of the Crop
Deal Management System. It covered a comprehensive view of its
layered architecture, service decomposition, data model, interface design,
and system interactions. Emphasis was given to maintainability,
performance, and security — making the system scalable and ready for
real-world deployment or academic extension.
CHAPTER 4
Implementation and User Interface
The implementation phase of the Crop Deal Management System
transforms the design architecture into a working solution. This chapter
provides a comprehensive explanation of how each component of the
system was implemented, the technologies used, and how the interface
adapts based on user roles: Farmer, Dealer, and Admin. It also describes
key UI/UX design decisions that enhance usability and efficiency.
Layer Technology
Frontend Angular 18, Angular Material
Backend ASP.NET Core 8.0 Web API
Database SQL Server
ORM Entity Framework Core (Code-First)
Authentication ASP.NET Identity + JWT Tokens
Testing Swagger, NUnit
Version Control Git, GitHub
Tools & Editors Visual Studio 2022, Visual Studio Code
csharp
CopyEdit
public class Crop {
public Guid CropId { get; set; }
public Guid FarmerId { get; set; }
public string CropType { get; set; }
public string CropName { get; set; }
public decimal QuantityInKg { get; set; }
public string Location { get; set; }
public bool IsSold { get; set; }
public decimal Price { get; set; }
public DateTime CreatedOn { get; set; }
}
4.3.2 DbContext
csharp
CopyEdit
public class ApplicationDbContext :
IdentityDbContext<ApplicationUser> {
public DbSet<Crop> Crops { get; set; }
public DbSet<Bank> Banks { get; set; }
public DbSet<Invoice> Invoices { get; set; }
public DbSet<Subscription> Subscriptions { get; set; }
public
ApplicationDbContext(DbContextOptions<ApplicationDbContext
> options)
: base(options) { }
}
4.3.3 Controllers
Example: CropController.cs
csharp
CopyEdit
[Authorize(Roles = "Farmer")]
[Route("api/[controller]")]
[ApiController]
public class CropController : ControllerBase {
private readonly ICropService _cropService;
[HttpPost("Publish")]
public async Task<IActionResult> PublishCrop(CropDto
dto) {
var result = await
_cropService.PublishCropAsync(dto);
return Ok(new { success = true, data = result,
message = "Crop published successfully." });
}
}
Manage Users
View Reports
Activate/Deactivate Accounts
Admin can:
Subscription Reports
Crop Listing Logs
Payment Summaries
Farmers enter:
Displays list of crops uploaded by the farmer and their current status
(sold/available)
ts
CopyEdit
{
path: 'admin',
component: AdminDashboardComponent,
canActivate: [RoleGuard],
data: { expectedRole: 'Admin' }
}
ts
CopyEdit
publishCrop(data: any): Observable<any> {
return this.http.post(`${this.baseUrl}/Crop/Publish`,
data);
}
4.12 Summary
CHAPTER 5
Software Testing
Software testing is a critical step in the Software Development Life
Cycle (SDLC) that ensures the application functions as intended, satisfies
all system requirements, and performs efficiently under different
scenarios. This chapter explains the testing approach, tools used, and
detailed test cases applied during the development of the Crop Deal
Management System (CDMS). Both manual and automated testing
strategies were applied to verify correctness, security, performance, and
user satisfaction.
csharp
CopyEdit
[Test]
public async Task
PublishCropAsync_ShouldReturnTrue_WhenValidInputGiven()
{
var crop = new CropDto {
CropName = "Wheat",
QuantityInKg = 100,
Price = 25.5M,
Location = "Mathura"
};
var result = await
_cropService.PublishCropAsync(crop);
Assert.IsTrue(result);
}
Benefits:
Regression testing was performed after every major change such as:
Implementing ratings
Adding invoice generation
Integrating notifications
This chapter explained the complete testing lifecycle of the Crop Deal
Management System. A combination of unit tests, API validation,
manual UI testing, and end-to-end scenarios ensured that the system met
all its functional and security requirements. By leveraging tools such as
NUnit, Swagger, and Postman, the application was thoroughly validated.
All critical bugs were fixed, and regression tests guaranteed the system’s
stability, performance, and readiness for deployment.
CHAPTER 6
Conclusion
The successful development and implementation of the Crop Deal
Management System (CDMS) represent a significant step forward in
digitizing the agricultural trade ecosystem. This project addresses critical
issues in traditional crop selling—such as intermediary exploitation, lack
of transparency, delayed payments, and poor accessibility—by
introducing a secure, scalable, and role-based digital platform. Built
using modern full-stack technologies, the system not only meets its
functional objectives but also lays a strong foundation for future
expansion and integration with broader agri-tech services.
6.1 Project Recap
Objective Status
Secure user login and role-based access ✅ Achieved
Direct crop listing and subscription model ✅ Achieved
End-to-end payment with invoice generation ✅ Achieved
Notification and alert system ✅ Achieved
Admin management and reporting tools ✅ Achieved
Modular and scalable service-oriented architecture ✅ Achieved
Responsive, multi-role user interfaces ✅ Achieved
Unit, integration, and functional testing ✅ Achieved
The Crop Deal Management System was more than just a technical
challenge; it was an opportunity to bridge gaps in a real-world domain
that affects millions. Through its development, a clear understanding
emerged of how structured planning, layered architecture, and user
empathy come together to create impactful software. With further
support and adoption, this project has the potential to positively
transform how agricultural trade is conducted in India and beyond.
CHAPTER 7
Summary and Future Scope
The journey of designing and developing the Crop Deal Management
System (CDMS) has been an in-depth and rewarding learning
experience. This final chapter provides a comprehensive summary of the
entire project lifecycle — from initial problem identification to final
deployment and testing. It outlines the steps taken in each chapter,
highlights the key functionalities implemented, and discusses the
project’s academic and practical impact. Furthermore, it explores the
possible future scope of the platform in real-world agriculture
technology.
7.1 Introduction