Skip to content

A user-friendly Command & Control (C&C) web platform for remote monitoring, management, and task automation across multiple devices.

License

Notifications You must be signed in to change notification settings

ShaharBand/sentinel

Repository files navigation

Sentinel Logo

Sentinel

License: MIT Downloads GitHub repo size stars Python Version last commit Tests

A user-friendly Command & Control (C&C) web platform for remote monitoring, management, and task automation across multiple devices. Equipped with agents, it enables users to seamlessly execute scripted tasks on target devices, empowering efficient data retrieval and remote actions.


🖥️ Technology Stack and Features

Backend

  • FastAPI: for the Python backend API.
    • 🧰 Beanie: for the Python MongoDB database interactions (ODM).
    • 🔍 Pydantic: used by FastAPI, for the data validation and settings management.
    • 💾 MongoDB: as the NoSQL database.
    • 📦 UV: An extremely fast Python package and project manager.

Frontend

  • 🚀 React for the frontend.
    • 📜 TypeScript: Enhances JavaScript by adding types.
    • Vite: A next-generation frontend build tool for a faster and leaner development experience.
    • 💅 EmotionJS: A library designed for writing CSS styles with JavaScript.
    • 🎨 Material UI: for the frontend components.
    • 🦇 Dark mode support.

Development and Deployment

  • 🐋 Docker Compose: for development and production.
    • 🔒 Secure password hashing by default.
    • 🔑 JWT (JSON Web Token) authentication.
    • ✅ Tests with Pytest.

CI/CD

  • 🚢 Deployment instructions using Docker Compose.
  • 🏭 CI (continuous integration) and CD (continuous deployment) based on GitHub Actions.

🌱 Getting Started:

1. Clone the repository:

https://github.com/ShaharBand/Sentinel.git

2. Configure

You can then update configs in the .env files to customize your configurations.

Before deploying it, make sure you change at least the values for:

  • BACKEND_ENVIRONMENT
  • DB_USER
  • DB_PASSWORD

You can (and should) pass the database password as environment variable from secrets.

Read the deployment.md docs for more details.


Backend Development

Backend docs: backend/README.md.

Frontend Development

Frontend docs: frontend/README.md.

Gallery Images

You can see the images of the frontend here: gallery.md.

👨‍💻 Contributions:

We welcome contributions to this project! Please feel free to fork the repository and create pull requests.

💼 License:

This project is licensed under the MIT License.