Skip to content

SebaB29/SistemaDePedidos

πŸ›’ Order Management System

A robust enterprise-grade solution for managing dynamic product catalogs, inventory control, and customer orders. Built with Java and Spring Boot, this system handles complex business rules, user authentication, and automated notifications within a modular and testable architecture.

πŸ“ Table of Contents

πŸ“ Description

Developed as a collaborative group assignment, this project implements a full lifecycle for e-commerce operations. From secure user registration with email verification to complex order state management, the system is designed to be reliable, secure, and extensible.

🧩 Key Features

  • Authentication & Security: Secure user registration with mandatory email verification.
  • Dynamic Catalog: Flexible management of products with customizable attributes and categories.
  • Order Engine: Automated order processing with configurable business rules and state transitions.
  • Inventory Control: Real-time stock monitoring and management to prevent overselling.
  • Automated Notifications: Integrated email service for order confirmations and status updates.
  • Admin Backoffice: A dedicated interface for administrators to manage the entire ecosystem.

πŸ› οΈ Technologies

  • Backend: Java 17+ with Spring Boot
  • Testing: Unit and Integration testing with JUnit and Mockito
  • Architecture: RESTful API principles and Layered Architecture
  • Version Control: GitLab (Enterprise workflow)
  • Project Management: JIRA (Agile/Scrum)

πŸš€ Getting Started

πŸ“‹ Prerequisites

  • Java JDK 17 or higher.
  • Maven 3.6+ for dependency management.
  • A relational database (e.g., MySQL or PostgreSQL) as configured in application.properties.

βš™οΈ Installation

  1. Clone the repository:

    git clone git@github.com:SebaB29/SistemaDePedidos.git
    cd order-management-system
  2. Configure Environment: Update the src/main/resources/application.properties file with your database credentials and SMTP settings for email notifications.

  3. Build the project:

    mvn clean install
  4. Run the application:

    mvn spring-boot:run

πŸ—οΈ Project Management

This project was developed using Agile practices. We utilized JIRA to manage our sprint backlog, track issues, and ensure a continuous delivery flow. The repository follows a strict branching strategy on GitLab to maintain code quality through Peer Reviews.

🀝 Contributing

  1. Fork the project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

πŸ‘₯ Team

Name
Sebastian Brizuela
Matias Rueda
JuliΓ‘n Rando
AgustΓ­n Vallcorba
Lucas Gimenez
Nicolas Penedo
JoaquΓ­n Czerwiak

πŸ“„ License

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

About

πŸ“¦ Robust enterprise order management engine. Scalable Spring Boot backend featuring secure auth, real-time inventory control, and automated notifications. Built with Agile excellence.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors