FastEndpointsTool 1.1.30
dotnet tool install --global FastEndpointsTool --version 1.1.30
dotnet new tool-manifest
dotnet tool install --local FastEndpointsTool --version 1.1.30
#tool dotnet:?package=FastEndpointsTool&version=1.1.30
nuke :add-package FastEndpointsTool --version 1.1.30
FastEndpointsTool & Template
Prerequisites
- .NET 9.0
- PostgreSQL
- Node.js
Installation
To install the FastEndpointsTool globally using the .NET CLI, run the following command:
dotnet tool install --global FastEndpointsTool
Checking the Version
To check the version of the FastEndpointsTool, run the following command:
dotnet fet -v
or
dotnet fet --version
Create a New Project
To create a new project using the FastEndpointsTool, run the following command:
dotnet fet cp -n {name} -o {path}
-n {name}: Specifies the name of the new project.-o {path}: (Optional) Specifies the output directory for the new project.
Change Connection Strings
By default, the FastEndpointsTool sets up connection strings for PostgreSQL in the appsettings.json, appsettings.Development.json and appsettings.Testing.json files. To change the connection strings, follow these steps:
Open the
appsettings.Development.jsonfile. Update theDefaultConnectionandHangfireconnection strings with your PostgreSQL connection details:{ "ConnectionStrings": { "DefaultConnection": "Host=your_host;Database=your_db;Username=your_user;Password=your_password" }, "Hangfire": { "Storage": { "ConnectionString": "Host=your_host;Database=your_db;Username=your_user;Password=your_password" } } }Open the
appsettings.Testing.jsonfile. Update theDefaultConnectionstring with your PostgreSQL connection details:{ "ConnectionStrings": { "DefaultConnection": "Host=your_host;Database=your_db;Username=your_user;Password=your_password" } }
Run the Backend Project
To run the project, navigate to the src/backend/Source directory and execute the following command:
dotnet run
Once the project is running, open your browser and go to http://localhost:5000/swagger/index.html to view the Swagger documentation for the endpoints.
Run the Frontend Project
To run the project, navigate to the src/frontend/web directory and execute the following command:
npm run dev
Default credentials:
- Username: admin
- Password: Admin#123
Run the Tests
To run the tests, navigate to the Tests directory and execute the following command:
dotnet test
Features
- JWT Authentication & Refresh Tokens – Secure authentication with built-in refresh token handling.
- Permissions-Based Authorization – Fine-grained access control using flexible permissions, ensuring users can only perform authorized actions.
- Role & Permission Management – Define roles and assign permissions dynamically through frontend.
- User Management – Includes endpoints and pages for user CRUD operations, changing passwords, and handling forgotten/reset passwords.
- Rapid CRUD Endpoints – Use the
dotnet fet crudcommand to generate fully authorized CRUD endpoints with permissions in one step, maintaining consistency and speeding up development. - Custom Endpoint Creation – Generate individual endpoints as needed while following a structured convention.
- Localization – Support multiple languages.
- Self-Hosted Background Email Service – Send emails directly from your own server without relying on third-party services.
- Automatic Token Cleanup Jobs
delete-expired-auth-tokens– A recurring job that runs once per day to remove expired authentication tokens. The schedule can be customized.delete-expired-tokens– A recurring job that runs once per day to remove expired tokens used for the "Forgot Password" functionality. The schedule can be customized.
Premium Features
For access to more advanced features, you can connect with me on LinkedIn
- Multi-Tenant Architecture - Support for multiple tenants/organizations
- Error Logging & Monitoring - Comprehensive error tracking and monitoring
- User Activity Tracking - Detailed audit logs of user actions and changes
- Tenant Localization Support - You can do localization for each tenant through the UI
- Tenant Settings Management - You can manage settings for each tenant through the UI
- Docker Support - You can deploy the application using Docker
- CI/CD Pipeline - Build and deploy the application using GitHub Actions
Star the Project
If you find this project helpful and appreciate the effort put into creating a robust backend template and tool for creating fast endpoints, please consider giving it a star on GitHub. Your support helps make the project more visible to others who might benefit from it.
⭐ Star this repository to show your support! ⭐
Your stars motivate me to:
- Add more features and improvements
- Maintain documentation
- Provide better support
- Create more developer tools
Thank you for your support! 👍
Documentation
Check out the Documentation for additional information.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|