Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/liannoi/wlodzimierz
Thesis at Computer Academy STEP. A cross-platform messenger consisting of a SPA application in Angular, as well as a native mobile application in Kotlin.
https://github.com/liannoi/wlodzimierz
angular azure clean-architecture cqrs docker dotnet firebase reactive-extensions sql-server wlodzimierz
Last synced: 3 months ago
JSON representation
Thesis at Computer Academy STEP. A cross-platform messenger consisting of a SPA application in Angular, as well as a native mobile application in Kotlin.
- Host: GitHub
- URL: https://github.com/liannoi/wlodzimierz
- Owner: liannoi
- License: apache-2.0
- Created: 2020-11-29T09:51:20.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-06-12T19:59:49.000Z (8 months ago)
- Last Synced: 2024-06-14T02:15:00.040Z (8 months ago)
- Topics: angular, azure, clean-architecture, cqrs, docker, dotnet, firebase, reactive-extensions, sql-server, wlodzimierz
- Language: C#
- Homepage: https://www.youtube.com/watch?v=AHxxJGIcA14
- Size: 80 MB
- Stars: 1
- Watchers: 1
- Forks: 3
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WLODZIMIERZ
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/21ec38ca8a924fce8b34be1398042f0c)](https://app.codacy.com/gh/liannoi/wlodzimierz?utm_source=github.com&utm_medium=referral&utm_content=liannoi/wlodzimierz&utm_campaign=Badge_Grade)
[![Code Climate](https://api.codeclimate.com/v1/badges/d20791e6eae10de3149c/maintainability)](https://codeclimate.com/github/liannoi/wlodzimierz/maintainability)
[![CodeFactor](https://www.codefactor.io/repository/github/liannoi/wlodzimierz/badge)](https://www.codefactor.io/repository/github/liannoi/wlodzimierz)
[![Codebeat](https://codebeat.co/badges/9fb05993-a47e-49f1-8a70-656cb9ddaa57)](https://codebeat.co/projects/github-com-liannoi-wlodzimierz-main)
[![BetterCode](https://bettercodehub.com/edge/badge/liannoi/wlodzimierz?branch=main)](https://bettercodehub.com/)The goal of the project is to provide a simple, convenient and cross-platform
messenger for providing textual communication between users.## Contents
- [Principles, paradigms, practices](#principles-paradigms-practices)
- [Architecture](#architecture)
- [Technologies](#technologies)
- [External clients](#external-clients)
- [SPA web app](#spa-web-app)
- [Native mobile app](#native-mobile-app)
- [Server](#server)
- [Getting Started](#getting-started)
- [License](#license)## Principles, paradigms, practices
This project adheres to the best practices from the entire field of business
application development.Among them:
- Object Oriented Programming (OOP)
- Object Oriented Design (OOD - SOLID, GRASP)
- GOF design patterns as well as architectural patterns (MVC, MVVM, CQRS)
- Domain-Driven Design (DDD)
- Reactive Programming Paradigm
- Principle of "Clean Architecture"
- Test Driven Development (TDD)## Architecture
The server-side RESTful Web API is written in .NET Core using MediatR library
to implement CQRS design pattern.The clients are:
- Single-page application (SPA) in Angular
- Native mobile application on Kotlin## Technologies
> To describe the technologies of this project, it was decided to divide them
> into two conditional categories. The first category **External clients**
> refers to technologies that are related to the clients of the project, and
> the second category **Server** refers to technologies that are related to the
> server-side RESTful Web API.### External clients
#### SPA web app
- Angular 11.1
- Sass
- Nx
- Bootstrap 4.6 (ng-bootstrap)
- RxJS 6.6
- NgRx 10.1
- Font Awesome
- SweetAlert 2#### Native mobile app
- Kotlin 1.4
- Android Jetpack (Hilt, Android Architecture Components)
- SQLite
- RxJava (RxKotlin, RxAndroid, RxBinding)### Server
- .NET 5
- Docker 19.03
- Microsoft SQL Server 2019
- Entity Framework Core 5
- ASP.NET Core Identity 5
- MediatR 9
- SignalR
- AutoMapper 10.1
- FluentValidation 9.3
- Swagger
- LinqKit 1.1
- Redis 6
- Serilog
- FluentAssertions, Moq, NUnit, Respawn## Getting Started
Messenger Wlodzimierz is hosted on two hosts:
- Server-side - [`Microsoft Azure`](https://wlodzimierz.azurewebsites.net/api)
- Angular web application - [`Firebase`](https://wlodzimierz-7z7dc.web.app)If you want to deploy the system locally or get acquainted in more detail with
the specification of the messenger - you should go to the [Wiki](https://github.com/liannoi/wlodzimierz/wiki) section.> Hosting on Azure and Firebase **was disabled** after demonstration and defense of the thesis at Computer Academy STEP. Therefore, in order to deploy and see this work in person - you need to go to the [Wiki](https://github.com/liannoi/wlodzimierz/wiki) section for instructions on local deployment.
## License
This repository is licensed under
[Apache-2.0](https://github.com/liannoi/wlodzimierz/blob/main/LICENSE).[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fliannoi%2Fwlodzimierz.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fliannoi%2Fwlodzimierz?ref=badge_large)
```
Copyright 2020-2021 Maksym LiannoiLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```