Skip to content

renanmarcos/financial-entries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Financial Entries API

Made with .NET Core 3.0, Google Cloud Firestore and Google App Engine

Instructions to run locally

  • Install and configure .NET Core SDK according your platform
  • Download this repository and run in terminal:
cd Src/
dotnet restore
dotnet run

In terminal will be available the API port and location (in general is http://localhost:5000)

Optionally, run with Docker

If you prefer, you can run this project in Docker container.

  • Install and configure Docker Engine Community according your platform
  • Download this repository and run in terminal:
cd Src/
docker build -t app .
docker run -d -p 8080:8080 --rm --name api app

Server will be running at http://localhost:8080

Running tests

cd Tests/
dotnet restore
dotnet test

Documentation

While running the project, you can access the Swagger UI at /docs endpoint. This will show all API resources, properties and responses.

  • Insomnia Workspace is available at insomnia.json as alternative.

See in action running into Google Cloud Platform

An instance of Google App Engine is running for this project at: http://financial-entries-259514.appspot.com/

Performance test

Using Apache JMeter, I've tested /statements API with application deployed in GCP.

Scenario: 300 Financial Entries in application, 300 users making HTTP Requests with a Ramp-up period of 1 second.

Results

Min: ~19ms
Max: ~3s
Average: ~872ms

To reproduce the test, you can use performance.jmx file in Apache JMeter. (Scenario must be recreated)

Notes

  • SSL Certification is disabled to be easier to test, but in real production scenario need to be activated for security reasons.
  • credentials.json is a GCP limited access to write/read Firestore information. Need to remove from the repository in real scenarios, it's here just to made our life easier.

About

financial-entries API made with .NET Core

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published