Skip to content

File management platform development (SaaS) with C# ASP.NET Core, Angular

Notifications You must be signed in to change notification settings

daniel-krich/KeeperCloud

Repository files navigation

KeeperCloud - File Management Platform

KeeperCloud is a File Management Platform developed using C# ASP.NET Core and Angular. It provides a secure and efficient way to store files in repositories, similar to buckets in AWS. With KeeperCloud, users can perform CRUD operations on files using the Manage API from external services. The platform ensures security by encrypting and compressing files. The architecture style follows a monolithic approach with Clean Architecture principles.

Features

  • User Management: KeeperCloud provides APIs to manage users and their permissions.
  • Repository Management: Users can create, update, and delete repositories.
  • File Operations: Users can upload, download, update, and delete files within repositories.
  • Encryption and Compression: Files are encrypted and compressed for enhanced security.
  • External Service Integration: KeeperCloud exposes APIs for external services to perform CRUD operations on files.

Technology Stack

  • Backend: C# ASP.NET Core.
  • Frontend: Angular 15, NgRx.
  • Database: Microsoft SQL server.
  • Authentication: JWT, custom API auth keys.
  • Encryption: AES-256.

Architecture

KeeperCloud follows the Clean Architecture principles, which provides separation of concerns and maintainability. The architecture consists of the following layers:

  • Presentation Layer: This layer contains the API controllers and Angular frontend which is responsible for providing a user-friendly interface to interact with the platform.
  • Application Layer: This layer handles the business logic and application workflows. It defines the application services and interfaces with the infrastructure layer.
  • Domain Layer: The domain layer represents the core business entities, including users, repositories, and files.
  • Infrastructure Layer: This layer interacts with external resources and services, such as databases, file storage, and APIs. It implements the interfaces defined in the application layer.

Add a Migration

To add a new migration, open a command prompt or terminal and navigate to the root directory of the project. Then run the following command:

dotnet ef migrations add "migration name" --project src\Keeper.Infrastructure --startup-project src\Keeper.WebApi

Apply Migrations

To apply the pending migrations and update the database, run the following command:

dotnet ef database update --project src/Keeper.Infrastructure --startup-project src/Keeper.WebApi

API Usage Example

To help you understand how to use the KeeperCloud API, I have provided an example project that demonstrates the usage of various API endpoints. The example project showcases repository and files operations.

You can find the example project in the examples directory of the KeeperCloud repository.

Interface images

Here are some demo images showcasing the user interface and features of the KeeperCloud platform:

Capture1


Capture2


Capture3


Capture4


Capture5


Capture6

About

File management platform development (SaaS) with C# ASP.NET Core, Angular

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published