This content originally appeared on DEV Community and was authored by Alan Hassan
Hi everyone ,
I’m currently working on a Django-based project called Internal Network Management System (INMS). The goal is to create a web application that helps manage devices connected to a company’s internal network.
Project Goals
This system will include:
- Device management: Add, update, and monitor devices (IP, MAC, status, etc.)
- Event logging: Record actions, changes, and suspicious behavior.
- Role-based permissions: Admin, Operator, Viewer, etc.
- Detailed network usage reports.
- Modular architecture using Django apps (devices, users, logs, reports…).
- Secure API endpoints (possibly using DRF).
Tech Stack
- Backend: Django (CBVs + Django REST Framework)
- Database: PostgreSQL
- Frontend: (Currently minimal, might expand later)
- Security: Implementing role-based access, logging, input validation, etc.
What I Need Help With
I’m looking for advice and best practices to follow while building this system. Some areas I’d love guidance on:
Security
What are essential Django/DRF security practices to protect internal apps?Architecture
Is there a clean way to structure multi-app Django projects like this?Scalability & Maintainability
How can I future-proof the project in case it grows beyond initial scope?Audit Logging
Any best practices for storing and managing audit trails in Django?Modular Services
Should I consider a service layer or keep logic inside views/models/signals?
My Current Progress
- Designed the full app structure with separated Django apps.
- Using CBVs + DRF (APIView currently).
- Planned database models and roles.
- Working on event logging and device tracking next.
If you’ve worked on similar internal tools or Django-based systems, I’d greatly appreciate any tips, warnings, or suggested patterns
Thanks in advance!
This content originally appeared on DEV Community and was authored by Alan Hassan