Skip to content

This repo holds projects made using java and spring boot

Notifications You must be signed in to change notification settings

Devansh-ds/Backend_Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Backend Projects

Welcome to the Backend Projects repository! This repository contains various backend applications and microservices built using Java and the Spring Framework. The projects demonstrate best practices, design patterns, and integration of popular tools and libraries for building robust and scalable backend systems.


Table of Contents

  1. About
  2. Technologies Used
  3. Projects
  4. Setup and Installation
  5. Contributing

About

This repository serves as a collection of backend projects showcasing various use cases and technologies in backend development. Each project is designed to solve a specific problem or demonstrate a particular concept, such as:

  • RESTful API development
  • Microservices architecture
  • Database integration
  • Security implementation
  • Event-driven systems

Technologies Used

These projects leverage the following tools and frameworks:

  • Java (JDK 17 or higher)
  • Spring Boot (3.4.0)
  • Spring Security (for authentication and authorization)
  • Spring Data JPA (for database interactions)
  • Spring Cloud (for microservices and distributed systems)
  • Apache Kafka (for messaging and event-driven architecture)
  • MySQL (relational database)
  • Hibernate (ORM framework)
  • Spring Reactive (for asynchronous processing)

Projects

1. E-Commerce

Description: This project is a scalable and modular e-commerce platform designed using a microservices architecture. It enables users to browse products, manage orders, make payments, and receive notifications.

  • Features:

    • Product and category management
    • Customer management and validation
    • Order processing and payment integration
    • Real-time notifications via email
    • Centralized configuration management
    • Service discovery and API Gateway routing
  • Technologies:

    • Spring Boot (REST APIs)
    • Spring Data JPA (Database interaction)
    • Apache Kafka (Messaging)
    • JavaMailSender (Email notifications)
    • Spring Cloud (Config Server, Eureka, Gateway)
    • Docker and Docker Compose (Containerization)
    • MySQL (Database)

2. Shopping cart

Description

A Shopping Cart backend to manage products, categories, orders, users, and cart items. It is designed for easy integration with various frontend frameworks and includes robust backend support with Spring Boot and MySQL.

  • Features:

    • Product and category management
    • User management (authentication pending implementation)
    • Cart and order processing
    • Image association with products
  • Technologies:

    • Backend: Spring Boot, Spring Data JPA
    • Database: MySQL
    • ORM: Hibernate
    • Build Tool: Maven

Setup and Installation

Prerequisites

  • Java Development Kit (JDK): Ensure JDK 17 or higher is installed.
  • Maven: Build tool for managing dependencies.
  • MySQL: Database server for persistence.
  • Kafka: Messaging platform for event-driven projects.

Steps

  1. Clone the repository:

    git clone https://github.com/Devansh-ds/Backend_Projects.git
  2. Navigate to the project directory:

    cd Backend_Projects
  3. Build the project:

    mvn clean install
  4. Configure environment variables or update the application.properties/application.yml file for database and service-specific settings.

  5. Run the application:

    mvn spring-boot:run

Contributing

Contributions are welcome! Follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Commit your changes with clear and concise messages.
  4. Push your branch to your forked repository.
  5. Open a pull request with a detailed description of your changes.

Thank you for checking out the Backend Projects repository! If you have any questions, feel free to reach out or open an issue.