TokanPages is a project repository that holds my web page to share my programming interests (among others), primarily Microsoft technologies.
The backend architecture of the solution follows the modular-monolith concept. Everything is split into projects and services with only one underlying SQL database. The frontend solution is made with React w/Redux. Everything is dockerized and hosted on the VPS.
Despite mainly focusing on software development and Microsoft technologies, this web page aims to be more than just a simple personal home site.
- React w/Redux (TypeScript).
- Material-UI.
- JEST.
- Axios.
- AOS.
- Validate.js.
- Syntax Highlighter.
- Emoji Render.
- HTML Parser.
- Husky.
- Semantic-Release.
- NGINX.
The client app uses React Hooks. Tests are provided using JEST, but there has yet to be full coverage.
The project is dockerized and deployed via GitHub Actions to VPS. The web server of choice is NGINX.
- WebApi (NET 6, C#).
- MS Windows Server 2022 w/SQL Database (deployed to the separate VPS).
- Redis Cache (deployed to the separate VPS).
- Entity Framework Core.
- Azure Blob Storage.
- Azure Key Vault.
- Azure Service Bus.
- MediatR library.
- CQRS pattern.
- FluentValidation.
- SeriLog.
- Swagger-UI.
- Polly.
- SignalR.
- PuppeteerSharp (Headless Chrome).
- PayU API (to be changed to Revolut API).
Tests are provided using XUnit and FluentAssertions.
The project is dockerized and deployed to the VPS.
CI/CD is done via GitHub actions. There are three scripts:
- dev_build.yml - it builds .NET Core application and React application, then runs all the available tests; finally, it scans the code with SonarQube.
- master_build.yml - it scans the repository, generate release number and pushes the code to the server for installation.
This project is under active development, the status can be monitored here: Board.