Skip to content

AutoPartsStoreSystem is a Spring-based learning project simulating an e-commerce platform for vehicle parts. Users can search parts, manage orders, and generate invoices. This project is not for production but explores backend development using modern technologies like Spring Boot and more.

License

Notifications You must be signed in to change notification settings

MiroslavKolosnjaji/AutoPartsEstoreSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI codecov License: MIT GitHub forks

AutoPartsEstoreSystem

Description:

AutoPartsEstoreSystem is a server-side web application developed as a personal project for learning purposes. It allows users to browse, search, and simulate the purchase of automobile parts based on vehicle make, model, and engine type. The system includes key functionalities such as advanced search, part grouping, order management, and secure payment simulation via Stripe, as well as invoice generation.

NOTE: This project is developed as a personal learning project and is not intended for production use. Certain security features, optimizations, and production-level safeguards may be limited or simulated.

Key Features:

  • Advanced search system based on vehicle brand, model, and engine type
  • Part grouping to refine search results (e.g., braking system, engine components)
  • Order management for tracking and processing purchases
  • Secure payment processing with various payment methods
  • Invoice generation for order transactions
  • PDF invoice emailing to automatically send invoices to customers
  • User registration and login system
  • Secure checkout process supporting various payment methods

Technologies Used:

  • Spring Framework: Core Framework for building enterprise Java applications.
  • Spring Boot DevTools: Tools for improving development efficiency with features like automatic restarts and live reload.
  • Spring Boot Validation: Ensures that the data being processed adheres to specified rules and constraints.
  • Spring Security: Provides authentication and authorization for Spring applications
  • Spring Crypto: Provides utilities for cryptographic operations in Spring applications
  • Spring Boot Test: Provides testing support for Spring Boot applications.
  • Spring Security Test: Provides testing support for Spring Security authentication and authorization.
  • Project Lombok: Library for reducing boilerplate code in Java.
  • MapStruct: Used for mapping between domain entities and DTOs.
  • Stripe: Library for handling secure online payment transactions.
  • JUnit5: Testing framework for unit and integration testing in Java.
  • Mockito: Framework for creating mock objects in automated testing.
  • Jacoco: A tool for measuring and reporting code coverage.
  • Codecov: Tool for measuring and tracking code coverage, integrated with CI/CD pipelines to ensure code quality.
  • CircleCI: CI/CD platform for continuous integration and automated testing.
  • H2 Database: In-memory relational database for development and testing purposes.
  • JSON: Data interchange format for communication between the client and the server.

Project Goals:

The primary objective of this project is to develop a comprehensive backend system within a monolithic architecture for an automobile parts purchasing application as a learning and portfolio project. The backend manages core functionalities, such as searching for parts based on vehicle specifics, securely processing payments, invoicing, and generating order confirmations, showcasing foundational skills in backend development.

Project Phases:

  • Project setup and initialization
  • Database design and entity modeling
  • Implementation of CRUD operations for managing parts, brands, and models
  • Development of advanced search functionality based on vehicle specifications
  • Integration of order management, payment processing, and invoice generation
  • Implementation of user authentication and registration system
  • Testing, debugging, and optimization
  • Integration with CircleCI for continuous integration and automated testing
  • Deployment and final adjustments

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

AutoPartsStoreSystem is a Spring-based learning project simulating an e-commerce platform for vehicle parts. Users can search parts, manage orders, and generate invoices. This project is not for production but explores backend development using modern technologies like Spring Boot and more.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages