Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jerry-felipe/inventory-api
A backend service for managing and tracking inventory in real time. Features include real-time stock updates, product management, low stock alerts, and reporting on inventory movements. Supports multiple warehouses and integrates with secure authentication methods for efficient access.
https://github.com/jerry-felipe/inventory-api
ci-cd docker java jwt logging microservices oracle resilience4j scalability spring-boot
Last synced: 14 days ago
JSON representation
A backend service for managing and tracking inventory in real time. Features include real-time stock updates, product management, low stock alerts, and reporting on inventory movements. Supports multiple warehouses and integrates with secure authentication methods for efficient access.
- Host: GitHub
- URL: https://github.com/jerry-felipe/inventory-api
- Owner: jerry-felipe
- Created: 2024-11-18T16:49:13.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-18T17:30:52.000Z (3 months ago)
- Last Synced: 2024-12-02T23:13:11.176Z (2 months ago)
- Topics: ci-cd, docker, java, jwt, logging, microservices, oracle, resilience4j, scalability, spring-boot
- Language: HTML
- Homepage: https://jerry-felipe.github.io/Inventory-API/
- Size: 3.91 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Inventory-API
A backend service for managing and tracking inventory in real time. Features include real-time stock updates, product management, low stock alerts, and reporting on inventory movements. Supports multiple warehouses and integrates with secure authentication methods for efficient access.# Features
- Real-Time Inventory Tracking: Monitor stock levels and updates across multiple locations.
- Product Management: Add, update, and remove products with detailed information.
- Low Stock Alerts: Notifications when inventory is low or needs to be reordered.
- Reporting: Generate reports on stock levels, product movements, and trends.
- Multi-Warehouse Support: Manage inventory across multiple warehouses or stores.# Technologies Used
- Backend Framework: Spring Boot
- Database: Oracle Database (Oracle XE)
- JDBC Driver: Oracle JDBC Driver ('ojdbc8.jar')
- Authentication: JWT for secure access
- API Documentation: Swagger/OpenAPI
- Caching: Redis (optional)# Set Up the Environment
1. Install Oracle XE (Oracle Database Express Edition):
- Download from [Oracle XE Downloads](https://www.oracle.com/database/technologies/xe-downloads.html).2. Configure Database:
- Create the necessary database schema and tables for the inventory system.
- Example connection URL:
'''env
DATABASE_URL=jdbc:oracle:thin:@localhost:1521:xe
'''3. Set up the environment variables:
- Create a '.env' file or set system environment variables for the Oracle database connection:
'''env
DATABASE_URL=jdbc:oracle:thin:@localhost:1521:xe
DB_USERNAME=your_username
DB_PASSWORD=your_password
REDIS_URL=redis://localhost:6379 # optional
JWT_SECRET_KEY=your_jwt_secret_key
'''4. Add Oracle JDBC Driver:
- Ensure you have the Oracle JDBC Driver ('ojdbc8.jar') in your classpath or add it as a dependency in 'pom.xml' if you're using Maven:
'''xml
com.oracle.database.jdbc
ojdbc8
19.8.0.0
'''5. Run the Application:
- To start the Spring Boot application:
'''bash
mvn spring-boot:run
'''# Usage
- Start the API server using Spring Boot:
'''bash
mvn spring-boot:run
'''
- Access the API documentation at:
'''
http://localhost:8080/swagger-ui.html
'''# Endpoints
| Endpoint | Method | Description |
|------------------------------|--------|----------------------------------------|
| '/inventory/add' | POST | Add a new product to the inventory. |
| '/inventory/update/{id}' | PUT | Update product details by ID. |
| '/inventory/delete/{id}' | DELETE | Remove a product from the inventory. |
| '/inventory/track/{id}' | GET | Get current stock level for a product. |
| '/inventory/reports' | GET | Generate inventory reports. |# Contributing
Contributions are welcome! Please fork the repository and submit a pull request with detailed notes.# License
This project is licensed under the MIT License.---
For more information, contact [email protected].