The first project presented in this portfolio is Fulgur. I chose the name of the application (Fulgur) from the Latin translation of the word “thunder”. The application is written in C# and was a project with focus on learning .NET and API communication.
About
The application makes it possible to look up a place name in all the world’s languages and retrieve updated weather data. An authentication system is also implemented, so a user can save favourites and watch their search history. Users can also choose not to log in if they only want weather data.
How to run
To run the program, you need to select BlazorApp_GUI, APICommunication, BackgroundService, and Grpcserver as startup projects.
Year
2022
GitHub
<link>
Type
C# / .NET
API Communication
The application communicates with the public APIs provided by “openweathermap” and processes the data to make it more structured and comprehensible for the rest of the system through endpoints. It also includes endpoints for storing and retrieving data related to favourites and search history.
Architecture/microservices
BlazorApp_GUI: This microservice handles the program’s Graphical User Interface (GUI).
DatabaseV1: This microservice contains our program’s database. It includes various database tables, the context, and migrations. The packages in this microservice are:
Microsoft Entity Framework Core: SQL Server and tools.
GrpcServer: Listens to and handles requests using the GRPC protocol. The packages in this microservice are:
Grpc.AspNetCore,
Newtonsoft.Json
APICommunication: Here, we communicate with our API, and we have the program’s controllers. The packages in this microservice are:
Newtonsoft.Json
Swashbuckle.AspNetCore
BackgroundService: This microservice is used to perform background tasks in our microservices architecture. The packages in this microservice are:
Newtonsoft.Json
Swashbuckle.AspNetCore
BackgroundService.Data: This microservice handles the storage of backup data for the BackgroundService microservice. The packages in this microservice are: