Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dotneteeer/diary
A diary asp.net core web api
https://github.com/dotneteeer/diary
database databases elasticsearch elk-stack grafana hangfire hangfire-dotnet-core kibana logstash prometheus rabbitmq redis serilog server swagger testing validation web-api
Last synced: 3 months ago
JSON representation
A diary asp.net core web api
- Host: GitHub
- URL: https://github.com/dotneteeer/diary
- Owner: dotneteeer
- License: mit
- Created: 2024-04-10T16:21:21.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-10-13T09:06:44.000Z (3 months ago)
- Last Synced: 2024-10-15T16:04:28.218Z (3 months ago)
- Topics: database, databases, elasticsearch, elk-stack, grafana, hangfire, hangfire-dotnet-core, kibana, logstash, prometheus, rabbitmq, redis, serilog, server, swagger, testing, validation, web-api
- Language: C#
- Homepage:
- Size: 237 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Diary API Project
## Introduction
Welcome to the Diary API project! This project is built using ASP.NET Core and represents the backend and API for a diary application. The goal of this project is to provide a robust and scalable backend service that can handle diary entries and user interactions efficiently.## Features
- **User Authentication**: Secure JWT Token system.
- **Diary Entry Management**: Create, read, update, and delete reports, role and users.
- **Data Persistence**: Store data using Entity Framework Core.
- **API Documentation**: Swagger UI for API endpoint visualization and interaction.## Technologies
- **ASP.NET Core**: For creating the web API.
- **Entity Framework Core**: For ORM and database interactions.
- **Swagger**: For API documentation and testing.
- **RabbitMq**: RabbitMq consumer and prudecer implemented.
- **Redis**: The requested reports are cached.
- **Prometheus and Grafana** - All activity is tracked.## Getting Started
To get started with this project, you'll need to have the following prerequisites installed:
- .NET Core SDK
- An IDE like Visual Studio or Rider
- A PostgreSQL Server instance for the database
- Erlang for rabbitMq
- Redis### Setup
1. Clone the repository to your local machine.
2. Open the solution in your IDE.
3. Restore the NuGet packages.
4. Update the connection string in `secrets.json` of `Diary.Api` to point to your PostgreSQL Server instance.
5. Set up rabbitMq(follow instructions in `Diary\Diary.Consumer\RabbitMqListener.cs`)
6. Set up Redis(after installing execute `redis-server`)
7. Execute `docker-compose up -d` in project directory.
8. Start the application.## Usage
Once the application is running, you can interact with the API using tools like Postman or directly through the Swagger UI.## Contribution
This project is still a work in progress, and contributions are welcome. If you'd like to contribute, please:
1. Fork the repository.
2. Create a new branch for your feature.
3. Commit your changes.
4. Push to your fork.
5. Submit a pull request.## License
This project is licensed under the MIT License - see the LICENSE file for details.## Acknowledgments
- Thanks to all the contributors who have helped with the development of this project.## Contact
For any queries or contributions, please open an issue in the repository.