Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

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.