Skip to content

securityjoes/security-joes-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Security Incident Management System

A modern, full-stack incident management platform designed for Security Operations Centers (SOC) to efficiently track, manage, and respond to security incidents.

🚀 Features

  • Real-time Incident Tracking - Create, update, and monitor security incidents
  • Advanced Filtering - Search and filter by status, priority, source, and keywords
  • Collaborative Comments - Team communication through incident comments
  • Dark/Light Theme - Modern UI with theme toggle support
  • Secure Authentication - JWT-based auth with bcrypt password hashing
  • RESTful API - Well-documented API with Swagger/OpenAPI specification
  • Responsive Design - Mobile-first approach with Tailwind CSS

🛠️ Tech Stack

Backend

  • Node.js with Express.js framework
  • MongoDB with Mongoose ODM
  • JWT authentication
  • Joi validation
  • Jest for testing

Frontend

  • Vue.js 3 with Composition API
  • Vite build tool
  • Pinia state management
  • Tailwind CSS for styling
  • Axios for API communication

📋 Prerequisites

  • Node.js 18+
  • MongoDB 5.0+
  • npm or yarn

🔧 Installation

Backend Setup

cd backend
npm install
cp .env.example .env
# Configure your MongoDB connection in .env
npm run seed  # Load sample security incidents
npm run dev

Frontend Setup

cd frontend
npm install
npm run dev

🚦 Quick Start

  1. Start MongoDB service
  2. Run backend server (default: http://localhost:3000)
  3. Run frontend dev server (default: http://localhost:5173)
  4. Login with demo credentials:
    • Username: admin
    • Password: Admin123!

📚 API Documentation

  • Swagger UI available at: http://localhost:3000/api-docs
  • Main endpoints:
    • POST /api/auth/login - User authentication
    • GET /api/incidents - List incidents with filtering
    • POST /api/incidents - Create new incident
    • POST /api/incidents/:id/comments - Add comment

🧪 Testing

# Backend tests
cd backend
npm test
npm run test:coverage

# Frontend tests
cd frontend
npm run test:unit

📖 Documentation

See TECHNICAL_DOCUMENTATION.md for:

  • System architecture diagrams
  • Technology decision rationale
  • Security implementation details
  • Performance optimization strategies
  • Future roadmap

🔒 Security Features

  • Password hashing with bcrypt
  • JWT token authentication
  • Input validation and sanitization
  • CORS protection
  • Rate limiting
  • MongoDB injection prevention

🎨 Screenshots

  • Clean dashboard with incident table
  • Advanced filtering capabilities
  • Modal-based incident details
  • Dark/Light theme support
  • Responsive mobile view

📈 Future Enhancements

  • WebSocket real-time updates
  • Export to PDF/CSV
  • Email notifications
  • Advanced analytics dashboard
  • Third-party integrations (Slack, JIRA)

📝 License

MIT

👥 Contributors

Security Incident Management Team - Security Joes


Built with ❤️ for Security Operations Centers

About

A modern, full-stack incident management platform designed for SOC

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors