The purpose of the IPAM (IP Address Management) project is to develop a Java application for tracking and managing IP addresses, including both individual addresses and address ranges. The system aims to efficiently allocate, reserve, and free up IP addresses while providing a user-friendly interface.
The scope of this project includes the development of a Java application using Java 17 and Spring Boot 3 for the backend, and a React-based user interface for the frontend. The application will allow users to manage individual IP addresses and IP address ranges, track their status (assigned, free, reserved), and enforce business logic for freeing up reserved addresses.
- The system should maintain a database table to track individual IP addresses.
- Each IP address should have a status, which can be "assigned," "free," or "reserved."
- The system should support the management of IP address ranges.
- Users should be able to reserve a range of IP addresses if needed.
- Users should be able to reserve individual IP addresses.
- Reserved IP addresses should be automatically freed up based on predefined business logic.
- The system should automatically free up reserved IP addresses based on business logic.
- Reserved IP addresses should not be reserved indefinitely.
- Backend: Java 17, Spring Boot 3
- Frontend: React, Material UI
- Database: MySQL
- Testing: Mockito, selenium
- The system must provide a user-friendly React-based UI for interacting with IP address management functionalities.
- The system should include Swagger documentation for API endpoints.