Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shaharband/sentinel

A user-friendly Command & Control (C&C) web platform for remote monitoring, management, and task automation across multiple devices.
https://github.com/shaharband/sentinel

beanie emotionjs fastapi javascript material-ui mongodb pydantic python reactjs typescript

Last synced: about 17 hours ago
JSON representation

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

Awesome Lists containing this project

README

        


Sentinel Logo

# Sentinel

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/ShaharBand/Sentinel/blob/main/LICENSE)
[![Downloads](https://img.shields.io/github/downloads/ShaharBand/Sentinel/total.svg)](https://github.com/ShaharBand/Sentinel/releases)
[![GitHub repo size](https://img.shields.io/github/repo-size/ShaharBand/Sentinel.svg)](https://github.com/ShaharBand/Sentinel)
[![stars](https://img.shields.io/github/stars/ShaharBand/Sentinel.svg?style=badge)](https://github.com/ShaharBand/Sentinel/stargazers)
[![Python Version](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![last commit](https://img.shields.io/github/last-commit/ShaharBand/Sentinel.svg)](https://github.com/ShaharBand/Sentinel/commits/main)
[![Tests](https://github.com/ShaharBand/sentinel/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/ShaharBand/sentinel/actions/workflows/tests.yml)

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**](https://github.com/tiangolo/fastapi): for the Python backend API.
- 🧰 [Beanie](https://github.com/roman-right/beanie): for the Python MongoDB database interactions (ODM).
- 🔍 [Pydantic](https://github.com/samuelcolvin/pydantic): used by FastAPI, for the data validation and settings management.
- 💾 [MongoDB](https://github.com/mongodb/mongo): as the NoSQL database.
- 📦 [UV](https://github.com/astral-sh/uv): An extremely fast Python package and project manager.

### Frontend

- 🚀 [**React**](https://github.com/facebook/react) for the frontend.
- 📜 [TypeScript](https://github.com/microsoft/TypeScript): Enhances JavaScript by adding types.
- ⚡ [Vite](https://github.com/vitejs/vite): A next-generation frontend build tool for a faster and leaner development experience.
- 💅 [EmotionJS](https://github.com/emotion-js/emotion): A library designed for writing CSS styles with JavaScript.
- 🎨 [Material UI](https://github.com/mui/material-ui): for the frontend components.
- 🦇 Dark mode support.

### Development and Deployment

- 🐋 [Docker Compose](https://github.com/docker/compose): for development and production.
- 🔒 Secure password hashing by default.
- 🔑 JWT (JSON Web Token) authentication.
- ✅ Tests with [Pytest](https://github.com/pytest-dev/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:**

```commandline
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](deployment.md) docs for more details.


## Backend Development

Backend docs: [backend/README.md](backend/README.md).


## Frontend Development

Frontend docs: [frontend/README.md](frontend/README.md).


## Gallery Images

You can see the images of the frontend here: [gallery.md](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.