# KinderGuardians 🛡️
KinderGuardians is a cutting-edge child safety monitoring platform that uses advanced audio processing and machine learning to help parents keep their children safe online and in real-world interactions.
## 🌟 Features
- Real-time text analysis
- Machine learning-powered content moderation
- Instant parent notifications for concerning content
- Secure WebSocket connections for live updates
- Cross-platform compatibility
## 🚀 Technology Stack
- **Frontend**: React.js with Material-UI
- **Backend**: Node.js & Express
- **Real-time Communication**: Socket.IO
- **Machine Learning**: Python processing
- **Text Analysis**: Custom ML models
## 🛠️ Installation
1. Clone the repository:
```bash
git clone [your-repo-url]
cd kinderguardians
- Install dependencies for both client and server:
# Install server dependencies
cd server
npm install
# Install client dependencies
cd ../client
npm install
- Set up environment variables:
Create a
.env
file in the server directory with:
PORT=5000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
- Start the server:
cd server
npm start
- Start the client:
cd client
npm start
The application will be available at http://localhost:3000
- JWT-based authentication
- Secure WebSocket connections
- Encrypted text analysis
- Real-time threat detection
- Parent notification system
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
The API provides several endpoints for text analysis and real-time communication:
POST /api/text
: Submit text for analysisGET /api/test
: Test API connectivity- WebSocket events for real-time updates
- Enhanced ML models for better threat detection
- Mobile application support
- Multi-language support
- Advanced parental controls
- Behavioral analysis features
Built with ❤️ for keeping children safe.
This README references several code blocks from the codebase, including:
```1:16:server.js
const express = require('express');
const cors = require('cors');
const { Server } = require('socket.io');
const http = require('http');
const multer = require('multer');
const { PythonShell } = require('python-shell');
const path = require('path');
const app = express();
const server = http.createServer(app);
const io = new Server(server, {
cors: {
origin: "http://localhost:3000",
methods: ["GET", "POST"]
}
});
{
"name": "server",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"bcrypt": "^5.1.1",
"cors": "^2.8.5",
"dotenv": "^16.4.5",
"express": "^4.21.1",
"jsonwebtoken": "^9.0.2",
"mongoose": "^8.8.1",
"multer": "^1.4.5-lts.1",
"socket.io": "^4.8.1"
}
}
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0",
"@mui/material": "^6.1.6",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"axios": "^1.7.7",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.28.0",
"react-scripts": "^5.0.1",
"socket.io-client": "^4.8.1",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}