Shopora Nexus ECom_

Full-Stack Project
Completed Project
View Source Code →
Type: Personal Project
Status: Completed
Project: Solo Project

Current Status

Shopora Nexus is a production-ready full-stack multi-vendor eCommerce platform supporting Customer, Seller, and Admin modules.

It includes secure JWT authentication, Stripe payment integration, product management, order processing, role-based access control, and scalable REST APIs built using Spring Boot and React.

Problem

Building an enterprise-level eCommerce platform that supports multiple user roles while maintaining security, scalability and clean architecture.

The system needed to provide secure authentication, product management, order lifecycle management, payment processing and an intuitive user experience.

Technical Decisions

01. Spring Boot Layered Architecture

Organized the backend using Controller, Service, Repository and Entity layers. This improves maintainability and keeps business logic separated from presentation.

02. JWT Authentication

Implemented JWT-based authentication with Spring Security to protect APIs and provide role-based access for Customers, Sellers and Administrators.

03. PostgreSQL + Spring Data JPA

PostgreSQL with Hibernate ORM is used for relational database management, reliable persistence and entity relationships.

04. React + Redux

Developed the frontend using React with Redux for centralized and predictable application state management.

05. Stripe Payment Gateway

Integrated Stripe for secure online payments and realistic eCommerce checkout workflows.

Why this project?

The project was developed to understand and implement a real-world enterprise eCommerce architecture using modern full-stack technologies.

It focuses on the complete online shopping workflow including authentication, authorization, product management, order processing and payment functionality.

Objective

To build a secure, scalable and enterprise-ready eCommerce platform while demonstrating modern full-stack development practices and real-world business workflows.

Challenges & Mistakes Encountered

01. JWT Authentication Configuration

What Happened

Users were unable to access protected APIs even after successful login.

Initial Assumption

I initially believed the problem was related to JWT token generation.

Investigation

After debugging the authentication flow, inspecting request headers and examining Spring Security logs, I discovered that the token itself was valid.

Root Cause

Incorrect Spring Security configuration and JWT filter registration prevented the token from being processed correctly.

Lesson

A valid JWT alone is insufficient. The security filter chain and authentication filter must also be configured correctly.

Debugging Case Study

JWT Authentication Returning 403 Forbidden

Problem

Authenticated users were unable to access protected endpoints despite receiving a valid JWT token.

Investigation

Verified JWT generation, decoded the token payload, inspected Spring Security logs and traced authentication filter execution.

Root Cause

Spring Security was not correctly extracting user authorities from the JWT.

Fix

Configured the JWT authentication filter, mapped user roles into GrantedAuthority and updated the Security Filter Chain.

Lesson

Authentication and authorization are separate processes. A valid token must also contain correctly mapped permissions.

Debugging Case Study

Order Transaction Consistency Issue

Problem

During checkout, payment completed successfully but order creation occasionally failed due to database exceptions.

This created the possibility of successful payments without corresponding order records.

Initial Solution

Added exception handling around the order service.

Edge Case

Network interruptions or database failures after payment confirmation could still create partial transactions.

Final Solution

Implemented transactional order processing using Spring's @Transactional annotation.

Database operations were rolled back when failures occurred, while duplicate order creation was prevented.

Lesson

Business-critical operations should execute within transactional boundaries to maintain consistency and prevent partial failures.

Limitations

01. Monolithic Architecture

The application currently follows a monolithic architecture where business modules are deployed as a single service.

02. Single Database Dependency

The platform relies on a centralized PostgreSQL database. High database load could affect application performance during peak traffic.

03. Basic Recommendation System

Products are currently displayed using standard filtering and search rather than personalized recommendations.

04. Inventory Management

Inventory updates occur during order processing. Real-time synchronization, automated restocking and demand forecasting are not currently implemented.

05. Search Capabilities

Product search currently relies on traditional database queries. Advanced features such as Elasticsearch, typo tolerance, autocomplete and semantic search are not yet available.

Impact

Shopora Nexus serves as a comprehensive showcase of enterprise full-stack development.

The project demonstrates secure authentication, multi-role access control, payment integration, REST API development, database management and modern software architecture.

It significantly improved my problem-solving, debugging and system-design skills while providing practical experience with technologies used in production applications.

Future Vision

01. Microservices Architecture

Refactor the monolithic application into independent microservices for improved scalability, maintainability and fault isolation.

02. AI-Powered Product Recommendations

Integrate Machine Learning to provide personalized product recommendations based on user behavior, purchase history and browsing patterns.

03. Cloud-Native Deployment

Deploy the platform using AWS services such as EC2, RDS and S3 together with Docker and Kubernetes.

04. Multi-Payment Gateway Integration

Expand payment support with Razorpay, PayPal, UPI and other payment providers alongside Stripe.

05. Elasticsearch-Based Smart Search

Implement Elasticsearch for full-text search, autocomplete, typo tolerance, advanced filtering and faster product discovery.

Technologies Used

Java Spring Boot Spring Security JWT Spring MVC Spring Data JPA Hibernate React.js Redux Material UI JavaScript Tailwind CSS REST API PostgreSQL MySQL Stripe API Docker Maven Git GitHub Postman