A comprehensive web application with 60+ tools for developers, security researchers, AI engineers, and enterprise teams. Features include developer utilities, productivity tools, misinformation research, e-portfolio management, cyber resilience monitoring, and AI safety testing.
Frontend: http://localhost:5173 Network Access: http://192.168.0.8:5173
- JSON Formatter, Base64 Encoder/Decoder, Regex Tester
- JWT Decoder, Hash Generator, QR Code Generator
- Calculator, Unit Converter, Timer/Stopwatch
- Chart Builder, CSV Converter, UUID Generator
- Weather API, Currency Converter, GitHub Stats
- DNS Lookup, HTTP Headers Analyzer, Security Checker
- SQL Injection Tester, XSS Tester, SSL/TLS Checker
- Token Counter (GPT-4, Claude support)
- Prompt Template Builder
- Model Cost Calculator (13 LLM models)
- JSON Schema Generator
- System Prompt Builder
- Few-Shot Learning Manager
- Model Parameter Calculator
Research platform for studying misinformation using public data:
- Open News Ingest (GDELT, RSS feeds)
- Claim & Fact-Check Explorer
- Propagation & Community Graphs
- Stance & Toxicity Analysis
- Media Forensics Workbench
- Source Controls & Policies
- Reproducible Dataset Builder
Ethics: Public data only, offline-first, respects robots.txt, transparent provenance
Academic portfolio with GitHub auto-discovery:
- Module Discovery (single-repo & org-wide modes)
- Outcomes & Evidence Tracking
- Reflections & Feedback Management
- Offline-first after sync
Enterprise backup and security monitoring:
- Backup Resilience Center - KPIs, success rates, immutability coverage
- Ransomware Early Warning - Canary monitoring, entropy detection
- Compliance Evidence Packs - ISO 27001, NIST 800-53 mappings
Defensive security for AI systems:
- Prompt Safety Monitor - Injection/jailbreak detection
- LLM Red Team Harness - Safe adversarial testing
- Model Robustness Lab - Text perturbation testing
- Agent Tool Access Gate - Tool capability controls
- Framework: React 18 + Vite
- Routing: React Router v6
- Styling: Custom CSS (no frameworks)
- Charts: vis-network
- HTTP: Axios
Core Backend (Flask):
- Port 5000 - Main API server
Misinformation Lab (Node.js/Express):
- Port 5001 - News Ingest API (GDELT, RSS)
- Port 5002 - Fact Check API
- Port 5003 - NLP Analysis API
- Port 5004 - Media Forensics API
E-Portfolio (Node.js/Express):
- Port 5005 - GitHub Indexer
- Port 5006 - Portfolio API
Cyber Resilience (Node.js/Express):
- Port 5007 - Backup API
- Port 5008 - Ransomware Detection API
- Port 5009 - Logs & Alerts API
- Port 5010 - Compliance API
AI Safety (Node.js/Express):
- Port 5011 - Prompt Monitor API
- Port 5012 - Red Team API
- Port 5013 - Robustness Testing API
- Port 5014 - Tool Access Gate API
- SQLite: Offline-first OLTP storage
misinfo.db- News items, claims, fact-checksportfolio.db- Modules, artifacts, reflectionsresilience.db- Backups, restores, canaries, logsai-safety.db- Prompt scores, attacks, robustness tests
- Node.js 20+ (required by Vite 7 and React Router 7)
- Python 3.8+
- npm or yarn
- Clone the repository
git clone <your-repo-url>
cd 1stproject- Install Frontend Dependencies
cd frontend
npm install- Install Backend Dependencies
# Flask backend
cd backend
pip install -r requirements.txt
# Microservices
cd ../services/misinfo && npm install
cd ../services/portfolio && npm install
cd ../services/resilience && npm install
cd ../services/ai-safety && npm install- Initialize Databases
cd services/misinfo && npm run init-db
cd ../portfolio && npm run init-db
cd ../resilience && npm run init-db
cd ../ai-safety && npm run init-db- Configure Environment Variables
Frontend (Required for deployment):
cd frontend
# For development - already created from .env.example
cat .env.example > .env
# For production - customize with your domain/reverse proxy paths
# Edit .env.production with your production API URLsThe frontend uses environment variables to connect to backend services. In development, it connects to localhost:5000-5014. In production, you'll need to configure these to point to your actual server or reverse proxy paths.
Backend (Optional - for external API keys):
# Copy example files
cp backend/.env.example backend/.env
# Edit with your API keys (optional for most features)
# Only needed if you want to use Weather API, News API, etc.Microservices (Optional - for service-specific configuration):
# Copy example files to create your configuration
cp services/misinfo/.env.example services/misinfo/.env
cp services/portfolio/.env.example services/portfolio/.env
cp services/resilience/.env.example services/resilience/.env
cp services/ai-safety/.env.example services/ai-safety/.env
# Edit each .env file with your settings:
# - Port configuration (if you need custom ports)
# - Database paths (if different from defaults)
# - API keys for external services (optional)
# - GitHub tokens for private repositories (E-Portfolio)
# - LLM API keys for testing (AI Safety)Note: Most services work with default configuration and mock data. You only need to configure .env files if you want to:
- Use external API services (fact-checking, LLM APIs, etc.)
- Access private GitHub repositories (E-Portfolio)
- Customize port numbers or database locations
- Enable advanced features
Option 1: Start Everything (Recommended)
chmod +x start-all.sh
./start-all.shOption 2: Start Services Manually
# Terminal 1: Frontend
cd frontend && npm run dev
# Terminal 2: Flask Backend
cd backend && python3 app.py
# Terminal 3: Misinformation Lab
cd services/misinfo
npm run dev
# Terminal 4: E-Portfolio
cd services/portfolio
npm run dev
# Terminal 5: Cyber Resilience
cd services/resilience
npm run dev
# Terminal 6: AI Safety
cd services/ai-safety
npm run devAccess the application:
- Local: http://localhost:5173
- Network: http://:5173
1stproject/
βββ frontend/ # React frontend
β βββ src/
β β βββ components/ # Tool components by category
β β β βββ DeveloperTools/
β β β βββ ProductivityTools/
β β β βββ AITools/
β β β βββ RedTeamTools/
β β β βββ MisinfoTools/
β β β βββ ResilienceTools/
β β β βββ AISafetyTools/
β β βββ apps/ # Portfolio app
β β βββ Layout/ # Navigation & layout
β β βββ App.jsx # Main routes
β βββ package.json
βββ backend/ # Flask API server
β βββ app.py
β βββ requirements.txt
βββ services/ # Microservices
β βββ misinfo/ # Misinformation Lab (4 APIs)
β βββ portfolio/ # E-Portfolio (2 APIs)
β βββ resilience/ # Cyber Resilience (4 APIs)
β βββ ai-safety/ # AI Safety (4 APIs)
βββ data/ # SQLite databases
β βββ misinfo.db
β βββ portfolio.db
β βββ resilience.db
β βββ ai-safety.db
βββ docs/ # Documentation
βββ start-all.sh # Startup script
OPENWEATHER_API_KEY=your_key_here # Optional - for Weather tool
FACTCHECK_API_KEY= # Optional - falls back to mock data
PERSPECTIVE_API_KEY= # Optional - uses keyword detection
GITHUB_MODE=single-repo # or org-wide
GITHUB_OWNER=your-username
GITHUB_REPO=your-repo
GITHUB_TOKEN= # Optional for public repos
All JavaScript functions are documented with comprehensive JSDoc comments including:
- WHY the function exists (not just what it does)
- Parameter types and return values
- Error conditions and edge cases
- Realistic usage examples
See: JSDoc Style Guide for documentation standards
Key documented modules:
services/*/init-db.js- Database initialization and connectionsservices/portfolio/gh-indexer/discover.js- GitHub repository discoveryservices/misinfo/ingest-api/gdelt-connector.js- GDELT API integrationservices/ai-safety/shared/init-db.js- AI safety database setup
- Create component in appropriate category folder
- Import in
App.jsx - Add route in
App.jsx - Add navigation link in
Layout.jsx - Use shared
ToolLayout.cssfor styling - Document exported functions with JSDoc (see style guide)
- Create service directory under
services/ - Add
package.jsonwith Express - Document all exported functions with JSDoc
- Create database schema in
schema.sql - Implement REST endpoints in
server.js - Add init script and startup command
GET /api/kpis- Get backup KPIsPOST /api/ingest/jobs- Ingest backup jobsGET /api/backups- List backupsPOST /api/dr/run- Run DR simulation
POST /api/score- Score prompt for risksGET /api/history- Get score historyGET /api/policies- List policiesPOST /api/policies- Create policy
GET /api/recipes- List attack recipesPOST /api/attack- Execute attackGET /api/history- Attack historyGET /api/stats- Statistics
[See full API docs in /docs/api.md]
# Run frontend tests (if configured)
cd frontend && npm test
# Test API health checks
curl http://localhost:5007/health # Backup API
curl http://localhost:5011/health # Prompt Monitor
curl http://localhost:5012/health # Red Team APIdocker-compose up -d- Build frontend:
cd frontend && npm run build - Serve static files from
frontend/dist - Deploy backend services with PM2 or systemd
- Configure reverse proxy (nginx/Apache)
- Set up SSL certificates
MIT License - See LICENSE file for details
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
- Misinformation Lab: Research only, public data, offline-first
- Red Team Tools: Only test YOUR OWN systems with authorization
- AI Safety: Defensive research, CTF challenges, penetration testing
- Never use against third-party services without consent
For issues, feature requests, or questions:
- GitHub Issues: [Create an issue]
- Documentation: See
/docsfolder
Built with:
- React, Vite, Express, Flask
- better-sqlite3, vis-network
- Open source community
Note: Some features require API keys (optional). Most tools work offline or with mock data.