Marketplace Handmade Crafts
Marketplace Handmade Crafts
Objective:
You will be building an Online Marketplace for Handmade Crafts Service
Application using React (Frontend), Spring Boot Microservices (Backend), and
MySQL (database).
Project Overview:
An online marketplace for handmade crafts web application is a platform that
connects artisans and crafters with customers who are looking to purchase
unique and handcrafted products. It provides a digital space where artisans can
showcase their creations, and customers can browse, purchase, and support
independent crafters.
Key features of Online Marketplace for Handmade Crafts Application
typically include:
User Registration: Users can create an account on the platform, either as
artisans or customers. They provide their basic information such as name, email
address, and password. This account will be used to access the various features
of the application.
Artisan Profile Creation: Artisans can create a profile that showcases their
brand, story, and the types of crafts they specialize in. They can upload images
of their products, provide descriptions, pricing information, and specify
shipping details.
Product Listings: Artisans can create individual listings for each of their
handmade crafts. They can include high-quality images, detailed descriptions,
materials used, dimensions, and pricing for each product. They may also have
the option to categorize their products into different sections or collections.
Search and Browsing: Customers can search for specific crafts or browse
through different categories, such as jewelry, home decor, clothing, or
accessories. They can use filters to narrow down their search based on price
range, location, or other specific criteria.
Shopping Cart and Checkout: Customers can add items to their shopping cart
while browsing and continue shopping until they are ready to make a purchase.
The web application will provide a secure and convenient checkout process
where customers can review their order, enter shipping information, and make
payments.
Payment Processing: The web application will handle the payment processing,
allowing customers to make secure transactions using various payment
methods, such as credit/debit cards, digital wallets, or other online payment
systems. The platform may charge a commission or transaction fee for each sale
made.
Order Management: Artisans can manage their orders through the web
application. They can view and track incoming orders, mark orders as shipped,
provide shipping notifications, and communicate with customers regarding any
inquiries or special requests.
Reviews and Ratings: Customers can provide feedback and reviews for the
crafts they purchase, helping to build the reputation and credibility of artisans
on the platform. These reviews can assist other customers in making informed
decisions and encourage artisans to maintain high-quality products and services.
Messaging and Communication: The web application may offer a messaging
system that allows customers and artisans to communicate directly. This can
include inquiries about products, custom order requests, or any other questions
related to the crafts.
DAY 2: Getting user data into Global state and creating app components
• Use Redux to make user data available on global state. This will pass the
props from parent to grandchild components without having to pass the
props through all child components. • Design page header component
and side panel
• Use React Router for navigation.
• Create navigation section of the header page which includes icons and
log-out functionality
• You can also use React Context API to share data values between
components without having to pass a prop through every level of the
app tree.
• Add more functionality to the application.
DAY 6: Design the database schema
DAY 17: Write test cases • Identify the critical paths and
functionalities in your application.
• Write unit tests for each microservice to verify the behaviour of
individual components.
• Use testing frameworks like JUnit to write the test cases.
• Mock external dependencies using tools like Mockito to isolate the
components under test.