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

https://github.com/filiptrivan/spiderly

.NET (C#) Library for Generating .NET (C#) + Angular Web Apps
https://github.com/filiptrivan/spiderly

angular azure code-generation crud csharp dotnet efcore orm primeng sourcegenerator spiderly sqlserver

Last synced: 5 months ago
JSON representation

.NET (C#) Library for Generating .NET (C#) + Angular Web Apps

Awesome Lists containing this project

README

          


Spiderly Logo

# Spiderly
Spiderly is a .NET (C#) library that turns your plain C# classes into a complete .NET + Angular web apps. Automatically updating all the boilerplate code as your classes evolve. You're free to add your own logic and change anything in the generated app exactly how you want.



  • Speed: With CRUD operations, backend/frontend architecture, authentication, authorization, logging, and the best libraries already set up for you, we save you a significant amount of time so you can focus on your specific business logic.


  • Accuracy: Even if the generated code is boilerplate, copy-pasting without focus inevitably leads to mistakes. Spiderly eliminates this subconscious burden, freeing your mind for more important tasks.


  • Customizability: If you don't like any of Spiderly's functionalities (CRUD operations, backend/frontend architecture, auth, logging), you can disable any of them and implement your own.

## Installation
Follow [Get Started](https://www.spiderly.dev/#get-started) to start using Spiderly.

## Examples
With the [Playground](https://www.spiderly.dev/playground) on the [Spiderly Website](https://www.spiderly.dev), you can create your own examples, live. Here is the first one to get you started:
```csharp
[TranslatePluralEn("Users")]
public class User
{
[Required]
public long Id { get; set; }

[DisplayName]
[Required]
public string Name { get; set; }

[UIControlWidth("col-12")]
public Gender Gender { get; set; }

[UIControlType("File")]
public string Logo { get; set; }
}
```
```csharp
[TranslatePluralEn("Genders")]
public class Gender
{
[Required]
public long Id { get; set; }

[DisplayName]
[Required]
public string Name { get; set; }
}
```
These two classes alone will generate app like this:


Spiderly Get Started App Demo

## Documentation

### Spiderly.CLI
By using the [Spiderly.CLI](https://github.com/filiptrivan/spiderly/tree/main/Spiderly.CLI), you properly initialize the app, allowing all other Spiderly libraries to function.

### Spiderly.SourceGenerators
[Spiderly.SourceGenerators](https://github.com/filiptrivan/spiderly/tree/main/Spiderly.SourceGenerators) generates a lot of features for both .NET and Angular apps by using attributes on EF Core entities. Its goal is to let developers focus solely on writing specific logic, without worrying about boilerplate code.

### Spiderly.Security
[Spiderly.Security](https://github.com/filiptrivan/spiderly/tree/main/Spiderly.Security) provides authentication and authorization features with JWT.

### Spiderly.Infrastructure
[Spiderly.Infrastructure](https://github.com/filiptrivan/spiderly/tree/main/Spiderly.Infrastructure) is built on EF Core and offers features such as optimistic concurrency control, customizable table and column naming, and extensions for simplified database configuration.

### Spiderly.Shared
[Spiderly.Shared](https://github.com/filiptrivan/spiderly/tree/main/Spiderly.Shared) provides shared features that can be used by all other Spiderly libraries.

## Contributing
If you want to participate in this cool open source repo be free to open an issue, start a discussion or make pull request.

### License
Spiderly is [MIT licensed](https://github.com/filiptrivan/spiderly/blob/main/LICENSE).