Be aware that this project is under development, has some bugs, and some of the features mentioned in the Architecture Overview are not yet finished.
If you decide to fork it, you will need a machine with parameters similar to these:
- RAM: 64GB (The Search Service, in particular, consumes a lot of RAM)
- GPU: At least 8GB of RAM
- CPU: Currently tested with Ryzen 5 generation
Drahten is an open-source project utilizing a microservices architecture written in .NET Core 8.0. The project focuses on creating a secure application that encompasses:
- Access control
- Information retrieval
- Data encryption
In the realm of computer systems and networks, defining "absolute security" is impossible. The rapid evolution of information technologies, the reduced timeframes for comprehensive testing of information systems, the increasing capabilities of individual users, and the potential for human errors (such as non-compliance with organizational security policies, configuration mistakes, and missed updates of critical applications and systems) are just some of the challenges that make "absolute security" unattainable. Therefore, the goal is to achieve "sufficient security."
In this project, "sufficient security" is accomplished through the following measures:
- Microservice Architecture: The entire application is built using microservices, with each service running in a separate container and having its own database;
- User Authentication: Users are authenticated via an authentication server that operates as an independent service within a container;
- Reverse Proxy Server: A reverse proxy server acts as a single entry point for client applications, enforcing authentication and authorization policies for backend services;
- Data Encryption: Information transmitted between services and the database is encrypted;
- Event Logging System: An event logging system captures events occurring within the application's services, providing a clear overview of the system's activities from a centralized location.
- Intro 📜
- Design Decisions 🧩
- Design 🛠️
- Project Structure 📂
- Usage 🚀