Skip to content

Oh yeah, another implementation of Pi.Alert with ReactJS and Django is here!

License

Notifications You must be signed in to change notification settings

DataDefendersWithAI/Network-Detector-and-Web-Monitor

Repository files navigation

Introduction

About project

Technologies

  • Application type: Web Application
  • Environment: Docker, but you can implement it locally (Both Linux and Windows can run, if you install all dependencies like Python, NodeJS,...)
  • Frontend: ReactJS
  • Backend: Python Django

Contributors

Nickname Fullname Student ID Contribute Features
JakeClark Nguyễn Chí Thành 22521350 Backend and Frontend Web Services & Internet Speedtest Monitor
SeaWind Nguyễn Hải Phong 22521088 Backend Devices Monitor & ICMP Monitoring & Events tracking
ShynBombx Hồ Trung Kiên 22520704 Backend and Frontend Packet Capture & Trafiic Analysis & Notifications
lightunderwolft Hồ Vĩnh Nhật 22521013 Frontend Devices Monitor & ICMP Monitoring & Events tracking

Installation

  • On Windows, we recommend using WSL2 to run the project and run locally instead of using docker-compose because of the network issues with docker desktop host network mode.
  • If you are using Windows docker desktop, please enable host network mode in docker desktop settings.**
  • On Linux, we highly recommend using docker-compose to run the project for better isolation and security and fast/easy deployment. (You can also run it locally, but you need to install all dependencies like Python, NodeJS,...)

Prerequisites

Make sure you have:

  • Docker & Docker Compose installed (Recommended)
  • OR Python 3.10+, NodeJS, npm (if running locally)
  • On Windows: WSL2 is strongly recommended

Clone the repository

git clone https://github.com/DataDefendersWithAI/Network-Detector-and-Web-Monitor.git && cd Network-Detector-and-Web-Monitor

First time setup backend

cd backend
python manage.py makemigrations backend && \
python manage.py makemigrations devices && \
python manage.py makemigrations icmp_monitoring && \
python manage.py makemigrations ip_scanning && \
python manage.py makemigrations notifications && \
python manage.py makemigrations packet_capture && \
python manage.py makemigrations speedtest_mon && \
python manage.py makemigrations system && \
python manage.py makemigrations traffic_analysis && \
python manage.py makemigrations web_service_mon && \
python manage.py migrate && \
cd ..

Choose one of the following methods to run the project.

1. Docker compose

docker-compose up -d

2. Run locally

Install frontend dependencies

cd frontend && npm install && cd ..

Install backend dependencies

pip install -r backend/requirements.txt

Open a terminal

cd frontend && npm start

Open another terminal

python backend/manage.py runserver

Or if you have uv package manager, here are all commands to reproduce backend:

uv init
uv venv
uv sync
# Or: uv add -r requirements.txt

uv documentation: https://docs.astral.sh/uv/

You're All Set!

The frontend should be running on http://localhost:3000, and the backend on http://localhost:3060.

Screenshots

Screen 1 Screen 2
Screen 3 Screen 4
Screen 5 Screen 6
Screen 7 Screen 8

About

Oh yeah, another implementation of Pi.Alert with ReactJS and Django is here!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5