Yasin Engin Network Backend
Network Inventory API Prototype
A Go and PostgreSQL learning project for modeling network assets, access control, and audit data.
Problem
The project explores how locations, devices, interfaces, VLANs, users, and audit records can be represented through a typed API with explicit validation, authorization, filtering, and pagination.
Architecture
The service separates HTTP routing, authentication, authorization, request validation, persistence, and audit logging. That structure keeps the API readable while making operational controls such as role checks and change history explicit.
Data Model
- Locations and network devices as the main inventory hierarchy.
- Interfaces, VLANs, operational state, and ownership metadata.
- Users, roles, authentication claims, and audit events for traceability.
What I Built
- Structured REST endpoints with consistent request and response behavior.
- JWT authentication and role-based access control for protected operations.
- Validation, filtering, pagination, and operational audit logging.
- Container-based local setup for repeatable testing.
GitHub Repository
Open the Network Inventory API repository
What I Learned
- A network inventory API is strongest when data modeling and access control are designed together.
- Filtering and pagination are not UI extras; they are operational requirements for real inventory work.
- Audit logs make backend behavior easier to explain, test, and debug.
Future Improvements
- Add OpenAPI documentation and generated client examples.
- Connect inventory state to network automation validation workflows.
- Add Prometheus metrics for request latency, error classes, and audit event volume.