- Notifications
You must be signed in to change notification settings - Fork2
A .NET Core REST API project template 👷 Built with a sense of peace and tranquillity 🙏
License
chrispoulter/halcyon-api
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A .NET Core REST API project template 👷 Built with a sense of peace and tranquillity 🙏
- .NEThttps://dotnet.microsoft.com/
- Entity Frameworkhttps://learn.microsoft.com/en-us/ef
- MassTransithttps://masstransit.io/
- SignalRhttps://learn.microsoft.com/en-us/aspnet/signalr
- FluentValidationhttps://fluentvalidation.net/
- Mapsterhttps://github.com/MapsterMapper/Mapster
- Seriloghttps://serilog.net/
- Swaggerhttps://swagger.io/
- Dockerhttps://www.docker.com/
- GitHub Actionshttps://github.com/features/actions
- PostgreSQLhttps://www.postgresql.org/
- RabbitMQhttps://www.rabbitmq.com/
- Redishttps://redis.io/
- MailDevhttps://github.com/maildev/maildev
- Seqhttps://datalust.co/seq
Restore NuGet packages:
dotnet restore "halcyon-api.sln"
In thesrc/Halcyon.Api
directory of the project, create a newappsettings.Development.json
file. This file will override settings inappsettings.json
during local development. This file is ignored by Git, so the secrets will not be committed to the repository.
{ "ConnectionStrings": { "Database": "Host=localhost;Port=5432;Database=halcyon;Username=postgres;Password=password", "RabbitMq": "amqp://guest:guest@localhost:5672", "Redis": "localhost" }, "Email": { "SmtpServer": "localhost", "SmtpPort": 1025, "SmtpSsl": false, "SmtpUserName": null, "SmtpPassword": null, "NoReplyAddress": "noreply@example.com", "CdnUrl": "http://localhost:3000" }, "Jwt": { "SecurityKey": "super_secret_key_that_should_be_changed", "Issuer": "HalcyonApi", "Audience": "HalcyonClient", "ExpiresIn": 3600 }, "Seed": { "Users": [ { "EmailAddress": "system.administrator@example.com", "Password": "super_secret_password_that_should_be_changed", "FirstName": "System", "LastName": "Administrator", "DateOfBirth": "1970-01-01", "Roles": [ "SYSTEM_ADMINISTRATOR" ] } ] }, "Serilog": { "MinimumLevel": { "Default": "Information", "Override": { "Microsoft.AspNetCore": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ], "WriteTo": { "Console": { "Name": "Console", "Args": { "outputTemplate": "{Timestamp:HH:mm:ss} [{Level:u3}] [{SourceContext}] {Message:lj}{NewLine}{Exception}" } }, "Seq": { "Name": "Seq", "Args": { "serverUrl": "http://localhost:5341" } } } }, "OTEL_EXPORTER_OTLP_ENDPOINT": "http://localhost:5341/ingest/otlp/v1/traces", "OTEL_EXPORTER_OTLP_PROTOCOL": "http/protobuf", "AllowedHosts": "*"}
dotnet run --project "src/Halcyon.Api/Halcyon.Api.csproj"
Once running, you can explore the API using Swagger UI athttp://localhost:5257
Feel free to submit issues or pull requests to improve the template. Ensure that you follow the coding standards and test your changes before submission.
This project is licensed under the MIT License. See theLICENSE file for details.
About
A .NET Core REST API project template 👷 Built with a sense of peace and tranquillity 🙏