Human

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

University of Barishal

Course title : Project & Thesis


Course Code : CSE-4202
Project Title : EnterpriseHub - Comprehensive ERP
Platform
Supervisor : Md. Erfan
Assistant Professor & Chairman,
Department of Computer Science and
Engineering,
University of Barishal.

Submitted by : Md. Moonaz Rahman


Roll : 19CSE023
Session : 2018-19
Submission Date : 03-09-2024
Project Proposal: EnterpriseHub - Comprehensive
ERP Platform

1. Introduction
Enterprise Hub is a smart, online tool that helps businesses manage their
operations. It’s like a toolbox with everything you need, from track of inventory &
sales to handling accounting, human resources, and customer relationships.

This platform is built to fit the unique needs of all kinds of businesses. It can help
organize inventory, sales, accounting, human resources, and CRM, plus it keeps an
eye on raw materials & production management too. One cool thing about this
system is its recommendation tool. It uses data to tell you the best times to buy raw
materials by looking at price trends. Also, it helps you create production schedules
based on what people are buying.

Enterprise Hub runs on a subscription plan. There are different options so


businesses from tiny startups to big companies can find what works best for them.
It's all about being easy to use, growing with your business, and making choices
based on data. This way, Enterprise Hub wants to change how businesses handle
their everyday tasks.

2. Objectives
 Centralized Management: Give businesses a central place to manage all
parts of their operations easily.
 User-Friendly Interface: Create an easy & simple interface so users can
have a better experience and want to use it.
 Scalability: Build a platform that grows as businesses grow, without any
hiccups.
 Data-Driven Decisions: Provide powerful tools for analysis that help
businesses understand things better & make smart choices.
3. Background Study
Existing Applications

Alhisab

Alhisab is a smart web app made by Retina Soft. It helps make business tasks
easier. This app a lot of things, like managing inventory sales, accounting, &
reporting.

Key Features:

• Product Inventory Management: Users can add products, change stock


numbers, set reorder points, & keep an eye on how products move.
• Sales Management: It makes selling easier! Just pick items from & create
detailed invoices.
• Accounting: This tool helps track money, manage what you owe and what
you’re owed, keep budgets in check, and stay on the right side of money
rules.
• Reporting: You can create in-depth reports on sales, inventory levels, &
financial health. This info helps with understanding data & making smart
choices.

Zoho Books

Zoho Books is an online accounting tool made for small & medium-sized
businesses. It a bunch of helpful features like invoicing, keeping track of expenses,
reconciling bank accounts, managing inventory, and automating tasks that happen
over & over again.
TallyKhata

TallyKhata is great for small businesses in Bangladesh. It helps with digital


bookkeeping, lets you take payments through a digital wallet, offers loans based on
your transaction history, keeps customers engaged with SMS notifications, &
provides a handy QR code to make payments easier.

Key Features:

• Digital Bookkeeping: Keeps track of daily sales, purchases, & expenses.


• Digital Wallet: Lets you accept payments using QR codes that work with
many mobile banking apps.
• Digital Loans: Gives access to loans based on your business history &
profile.
• Customer Engagement: Sends SMS reminders & details about transactions
to customers.
• Super QR Code: One single QR code for getting payments from different
platforms.

4. Enhanced Features of Our Platform


Recommendation System

Production Recommendations: We offer smart to boost production.

Inventory Insights: helpful info to manage your stock & cut down on waste.

Raw Material Inventory Management

Purchase Tracking: Keep tabs on what you buy in raw materials.

Usage Monitoring: Check out how your raw materials are being used—right.

Stock Levels: Keep your stock just right—no shortages & no extras, either.

Product Inventory Management

Product Management: Add or update products all the details you need.

Stock Control: Watch those stock levels, set reorder points, & track every
movement.
Warehouse Management: Handle many warehouses & check inventory at different
spots easily.

Sales Management

Order Processing: Keep an eye on sales orders from start to finish.

Invoicing: Create clear invoices & handle billing without any fuss.

Sales Analytics: Look at how sales are doing & spot trends to sharpen your
strategies.

Accounting

Financial Tracking: Keep a close eye on all your money transactions.

Expense Management: Track expenses & handle them like a pro.

Budgeting: Set budgets & keep an eye on those financial goals closely.

Human Resources

Employee Management: Organize employee records, track their attendance, &


manage payroll smoothly.

Recruitment: Streamline hiring with our HR tools that fit together nicely.

Performance Management: Keep tabs on employee performance & do evaluations


effectively.

Customer Relationship Management (CRM)

Customer Database: Safely store & manage customer info with ease.

Communication Tools: Connect with customers through email, SMS, & more
ways.

Customer Insights: Get to know what customers like & how they behave.

Reporting and Analytics

Standard Reports: Pull standard reports about different aspects of your business.
Custom Reports: Build tailored reports for your specific business needs.

Data Visualization: Show data with charts & graphs to make it super easy to
understand.

5. Technical Overview
5.1 Backend
Java:

Java is a popular programming language made by Sun Microsystems (now Oracle).


It's easy because it works on different devices without changing anything. You can
write it once & run it anywhere! Its syntax is kinda like C++, so if you know other
languages, you can pick it up quickly. Java is strong & has features like memory
management through garbage collection and ways to handle errors safely. It’s also
good for making fast apps since it allows many things to happen at once. One cool
thing about Java is its Java Virtual Machine (JVM), which runs the Java code
everywhere! You can use Java for lots of things—like web stuff or Android apps!
[1]

Framework (Spring Boot):

Spring Boot is a free,-source Java framework that makes it easier to create


standalone applications and microservices. built on the Spring Framework, which
means it comes with loads of tools, libraries, & handy conventions to help speed
up development and cut down on repetitive coding.[2]

Auto-Configuration: This feature automatically sets up the app based on what’s


in your classpath. You won’t need to do much more. It speeds things up!

Embedded Server: It includes a web server like Tomcat, Jetty, or Undertow so


you can start apps as standalone executables. No need for separate servers!

Starter Dependencies: There are “starter” dependencies for features like database
access, security, & web development. Everything you want is bundled together!
Actuator: This has features ready for production, allowing you to monitor &
manage your applications. Think health checks, metrics, & logging. Super handy!

Spring Boot CLI: You can quickly dive into Spring Boot applications with
Groovy scripts in a Command Line Interface. Really simple!

Devtools: These come with useful features like automatic restarts, live reloads, &
better error reporting during development. Makes life so much easier!

Annotation-Based: Configuration becomes a breeze with annotations. Keeping


the code neat & tidy also helps in reading it more easily.

Production-Ready: It’s loaded with best practices and features that help build
apps which are reliable & scalable for real-world use.

Database (MySQL):

MySQL is a popular open-source relational database management system, or


DBMS for short. People like it because it’s easy to use, flexible, & performs really
well. MySQL was first created by MySQL AB but now Oracle Corporation keeps
it running smoothly. It works for all kinds of projects, whether they’re big or small.
[3]
9. Storage Engines: Storage Engines: MySQL offers various storage engines like
InnoDB & MyISAM; each one has its own cool features.

5.2 Frontend
HTML5 (HyperText Markup Language 5):

HTML5 (HyperText Markup Language 5):HTML5 is the newest version of the


language that use to develop website content. It adds new elements & attributes
that help with web functions and unlimited support—that makes it way better than
older versions. [4]

CSS3 (Cascading Style Sheets 3):

CSS3 is the latest style sheet language that controls how web documents look and
are laid out. It has lot of new features like transitions, animations, gradients helping
developers make eye-catching and responsive designs. [5]

Bootstrap 4:

Bootstrap is a well-known front-end framework that helps build responsive


websites that work great on mobile devices too! It gives designers ready-made
HTML, CSS, & JavaScript components to create great-looking user interfaces
across different screens. [6]

JavaScript:

JavaScript is a key programming language for web development. This tool makes
web pages interactive. Developers can use it to create easy interactions like
changing things on-screen when users click around or filling out forms. [7]

jQuery:

jQuery is a super-fast library for JavaScript that's really lightweight but packed
with features. It makes things easier by providing a simple way to work with the
DOM and handle events or perform AJAX requests helping developers save time
while keeping cross-browser compatibility. [8]
Thymeleaf:

Thymeleaf is a server-side Java template engine used in creating websites with


Java frameworks like Spring. It helps developers make dynamic HTML templates
that work smoothly alongside Java code featuring expressions, conditionals, loops,
and layouts to make everything come together nicely.

These technologies often work side-by-side to develop modern web applications


that are interactive & responsive. You start with HTML5 for structure and CSS3
for styling; then Bootstrap provides ready-made components; while JavaScript &
jQuery handle user interaction and Thymeleaf helps when working with server-
side content in Java apps. [9]

5.3 Security
Security’s super important for every platform. Enterprise Hub deals with sensitive
business info & keeps critical operations flowing smoothly. To keep everything
safe and sound.here’s what’ll be in place:

Spring Security Integration:

 Spring Security's gonna be our go-to framework to handle user logins in


Enterprise Hub! It’s strong & customizable perfect for what today’s web-
based ERP platforms need.
 Users will log in using credentials (username/password), which are stored
safely in the system passwords will be encrypted using strong hashing
algorithms like BCrypt so they won't just sit there in plain text. [10]

JWT Authentication:

 We’re using JSON Web Tokens (JWT) for smooth authentication without
being tied down to sessions on the server.
 After logging in successfully, the system creates a JWT holding user info
like ID & permissions.it’ll be signed securely to stop anyone from messing
with it.
 This token goes back to the client who stores it safely (maybe local storage
or a cookie) and then uses it in HTTP headers going forward so the server
can check who they are when they try accessing protected stuff.
 Since JWT doesn’t require server memory for sessions the platform scales
better across servers without hassle.[11]

Token Expiry and Refresh:

 To up security even more JWT tokens will expire after a set time so they
can’t get stolen easily.
 There’ll also be an easy way for users to refresh their token before the old
one runs out; this means they won’t have to log back in every time they can
keep using their services seamlessly.

Secure API Endpoints:

 We'll secure backend API endpoints using both JWTs and RBAC
mechanisms! First off we authenticate each API request with the JWT token
provided! Then we check what roles/permissions users have to see if they
can access certain things.
 If someone tries accessing stuff they shouldn’t see they’ll get error messages
like HTTP 403 Forbidden letting them know they hit a wall.

5.4 Architecture

The whole setup of Enterprise Hub matters a lot when it comes to how we scale it
up or keep up its parts running well together! We thought about two main ways:
Monolithic Architecture & Microservices Architecture but we ended up liking
Microservices better 'cause it's got lots of perks for big apps.

Monolithic Architecture

In this setup the app's built as one big unit where everything the user interface,
business logic all runs together as one process.
Advantages:

• Development’s simpler: just one codebase makes it easy!

• Deployment’s straightforward: since there’s only one thing you need to launch.

Challenges:

• Limited scalability since you gotta scale everything even if just one part needs
help!

• Maintenance gets tricky as codes grow it could become messy.

• One little bug? That could shake up the entire system!

Maicroservices architecture

Maicroservices architecture breaks down apps into smaller independent parts


called services they do specific jobs but communicate through APIs.
Rationale for Choosing Microservices

We chose Microservices Architecture 'cause of several great reasons:

1. Scalability:that lets us grow certain services separately while keeping


performance high.
2. Modularity:it supports easy updating without disrupting everything.
3. Agility:you have teams working on different sections at once!
4. Resilience:isolating services lessens failures’ impacts.
5. Continuous Updates:it allows fast independent changes needed for
maintaining an active hub like Enterprise Hub!

5.5 Java Unit Testing With JUnit 5


For be sure that everything works as we expected, we'll use JUnit 5 for testing
during development. JUnit 5 is the newest version of the JUnit framework for Java.
It’s made for modern testing, offers better features & flexibility. It helps in writing
and running tests that can be repeated easily. [13]

Testing Strategy:
Unit Testing: We’ll test each service & component in the backend with JUnit 5 to
confirm they work correctly in different situations.

Test Coverage: We'll try to get high test coverage. This way, we know that
important paths, tricky situations, and mistakes are fully tested.

Parameterized Tests: We’ll use JUnit 5’s parameterized tests to run the same test
with different inputs. This makes our testing wider in scope.

Integration with CI/CD: Our JUnit 5 tests will be a part of the CI/CD pipeline.
This means they will run automatically during every build, stopping any new bugs
from slipping through.

Advantages:

Enhanced Features: JUnit 5 has new stuff like better management of the test
lifecycle, good integration with other testing tools, & support for multiple test
engines.

Early Bug Detection: By using JUnit 5, we can find & fix problems early on,
which saves time & effort later in development.

Improved Code Quality: Regular testing helps keep our code quality high &
ensures the application is more stable and easy to maintain

6. Implementation Plan
Planning Phase

1. Requirement Gathering:

 Stakeholder Interviews: Talk to key people like project sponsors, users, and
tech staff to get detailed needs. Understanding their expectations and any
special rules is important too.
 Use Cases and User Stories: Create use cases and stories to capture what
end-users need from the system. This helps pinpoint exactly what the system
should do.
 Requirements Documentation: Put all this info together into a document
showing what the system needs. It should cover both what it must do
(functional requirements) and how it should perform (non-functional
requirements).
2. Software Requirements Specification (SRS):

 Purpose and Scope: Define what the SRS aims for & what's included in the
project goals, limits, etc. The scope should match what we’ve gathered so
far.
 Functional Requirements: Describe important functions like specific features
and workflows that need support.
 Non-Functional Requirements: List how well it should perform think
security and usability—the quality standards we need like scalability &
reliability.

3. Project Scope Definition:

 Feature Definition: Based on the SRS, figure out which key features need to
be built.
 Timeline and Milestones: Set a detailed project timeline with key dates so
we can track progress easily.
 Resource Allocation: Identify what resources like team members or tech
tools we need for success.

4. Risk Management: Spot possible risks & think up ways to manage them
especially tech risks or project changes.

Development Phase

Backend Development:

 Architecture Implementation: Build backend components using Spring Boot


focus on core features & logic here.
 Service Development: Make microservices based on architecture specs
while keeping things modular & scalable.

Frontend Development:

 UI/UX Design: Create an easy-to-use user interface with HTML, CSS, and
JavaScript.

Integration:
 System Integration: Connect backend services with frontend parts smoothly.

Testing:

 Unit Testing: Write unit tests for both backend and frontend components
using JUnit 5.[13]

Documentation:

 Technical Documentation: Document everything related to code including


API specs & architecture diagrams.

Deployment Phase

Deployment Strategy: Craft a complete plan for stages like staging and
production.

CI/CD Integration:

 Continuous Integration (CI): Code changes go into a shared repo often


minimizing issues when merging new code.[14]
 Cloud Deployment: Host on platforms like AWS or Azure for better
scalability and reliability.
 Monitoring and Maintenance: Put systems in place to follow app
performance & health after deployment.

7. Project Timeline
• Planning and Requirement Gathering: 1 week

• Development: 8 weeks

• Testing and Quality Assurance: 1 week

• Deployment and Launch: 1 week

• Post-launch Support and Maintenance: Ongoing

8. Conclusion
The main goal of Enterprise Hub to give a platform to the users by which thy can
manage their businesses by covering the full ERP .This platform will provide every
necessary features which is necessary to handle a business in a proper way. Our
smart recommended system will help user to take important decision about
inventory and ingredients purchase which will help to grow the business fast.

Reference

1. Horstmann, C. S., & Cornell, G. (2007). Core Java, Volume I: Fundamentals


(8th Edition). Prentice Hall.

2. Walls, C. (2015). Spring Boot in Action. Manning Publications.

3. DuBois, P. (2013). MySQL (5th Edition). Addison-Wesley Professional.

4. Freeman, E., & Robson, E. (2014). Head First HTML5 Programming: Building
Web Apps with JavaScript. O'Reilly Media.

5. Castro, E. (2013). HTML5 and CSS3: Visual QuickStart Guide. Peachpit Press.

6. Spurlock, B. (2017). Bootstrap 4: Quick Start. Packt Publishing.

7. Flanagan, D. (2020). JavaScript: The Definitive Guide. O'Reilly Media.

8. Duckett, J. (2014). JavaScript & jQuery: The Missing Manual. O'Reilly Media.
9. Cervera, D., & Alonso, J. (2018). Mastering Thymeleaf: Create Web
Applications with Spring Boot and Thymeleaf. Packt Publishing.

10. Spring Security Reference Documentation (2023). Pivotal Software, Inc.


"Password Storage and Encoding." Available online: https://docs.spring.io/spring-
security/reference/servlet/authentication/passwords/password-storage.html

11. Auth0 Documentation (2023). "Introduction to JSON Web Tokens."


Available online: https://auth0.com/docs/secure/tokens/json-web-tokens

12. Nginx (n.d.). "Monolithic vs Microservices Architecture." Available online:


https://www.nginx.com/resources/glossary/microservices-vs-monolith

13. Baeldung (n.d.). "Guide to JUnit 5.":https://www.baeldung.com/junit-5

14. Atlassian (n.d.). "What is CI/CD? Learn the basics of continuous integration
and continuous deployment." https://www.atlassian.com/continuous-integration

15. Docker (n.d.). "What is Docker?" https://www.docker.com/resources/what-


container

Response of reviewers
Reviewer:
Dr. Md Manjur Ahmed
Associate Professor
Department of Computer Science and Engineering
University of Barishal.
Review :
Didn't provide any written feedback, but showed confidence
in my work and encouraged me to keep going and complete
it.
Reviewer:
Md. Erfan
Assistant Professor & Chairman
Department of Computer Science and Engineering
University of Barishal.
Review :
• Add multiple AI model.
• Deploy at AWS.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy