Skip to content

NetWise is a bandwidth management and optimization system developed for the DevFest Algiers Hackathon.

Notifications You must be signed in to change notification settings

Bensmail-anis/NetWise_DevFest24

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetWise_DevFest24 - Bandwidth Management System

Project Overview :

NetWise is a bandwidth management and optimization system developed for the DevFest Algiers Hackathon. The solution aims to improve the Quality of Experience (QoE) for satellite broadband users over shared bandwidth by leveraging Traffic Shaping techniques. The system features an AI-powered chatbot for managing bandwidth data, CRUD operations, and generating detailed PDF reports based on user requests.

Key Features

  • AI-Powered Chatbot (Django REST Backend):

    • The chatbot interacts with network admins to analyze
    • bandwidth usage and manage network resources.
    • Provides data analytics based on historical bandwidth consumption.
    • Generates automated PDF reports using LangChain for real-time data analysis.
  • Bandwidth Management API (Node.js Backend):

    • Handles the core functionality for monitoring and controlling bandwidth allocation.
    • Uses a RESTful API to expose the network traffic data and provide tools for managing client bandwidth.
    • Allows admins to set maximum bandwidth allocations for different clients through a dashboard.

Project Tree Structure

NETWISE_2/
│
├── back/
│   ├── AI_API/
│   │   ├── chatbot/
│   │   ├── document_agent/
│   │   ├── mon_environnement/
│   │   └── venv/
│   ├── .dockerignore
│   ├── .env
│   ├── .gitignore
│   ├── bandwidth_report_20241019_...
│   ├── bandwidth_report_20241019_...
│   ├── db.sqlite3
│   ├── Dockerfile
│   ├── get-pip.py
│   ├── manage.py
│   ├── README.Docker.md
│   ├── requirements.txt
│   ├── models/
│   ├── routers/
│   │   ├── authMiddleware.js
│   │   ├── authMiddlewareProv.js
│   │   ├── authMiddlewareSocket.js
│   │   ├── Dockerfile
│   │   ├── endpoints.txt
│   │   └── server.js
│   ├── node_modules/
│   ├── package-lock.json
│   ├── package.json
│   └── README.md
│
├── front/
│   ├── node_modules/
│   ├── public/
│   ├── src/
│   ├── .dockerignore
│   ├── .gitignore
│   ├── Dockerfile
│   ├── eslint.config.js
│   ├── index.html
│   ├── package-lock.json
│   ├── package.json
│   ├── README.Docker.md
│   ├── README.md
│   ├── tailwind.config.js
│   └── vite.config.js

Screenshots

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

Tech Stack

Client: React, Redux, TailwindCSS for styling

Server: Node.js (for general backend services) and Python (with Django REST API for AI-related services and assistants)

Installation Instructions

Backend Installation

  1. Clone the repository:
git clone https://github.com/your-repo/NetWise.git
cd NetWise/back
  1. Install Node.js dependencies:
npm install
  1. Run the backend server:
node server.js
  1. MongoDB connection:
  • Ensure MongoDB is running.
  • Make the .env file with MongoDB connection details

Frontend Installation

  1. Navigate to the frontend folder:
cd ../front
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev

AI Service

  1. Create and Activate the virtual environment:
cd ../back/AI_API
python -m venv venv
.\venv\Scripts\activate
  1. Install Python dependencies (use a requirements.txt):
pip install -r requirements.txt

3, Run the AI server (Django):

python manage.py runserver

.env variables needed

AI_API

DB_LINK=your_db_link_here
CODE_CORTEX=your_code_cortex_key_here
SECRET_KEY=your_ai_secret_key_here

back (for node)

SECRET_PROVISOIR=your_temp_secret_here
SECRET=your_secret_here
DATABASE_URI=your_database_uri_here
NODE_ENV=production  # or 'development' based on your environment

About

NetWise is a bandwidth management and optimization system developed for the DevFest Algiers Hackathon.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published