Note: Some of next projects base ideas inspired by popular success busniss projects or online training course/s
This application is another story in Desktop Application Industry
It used new exclusive private
technologies, to make everything reactive and reusable
This app orinted around DDD
Update, Released: Link
I will publish a snaps from the code and github issue trackers, once the application finished
Screenshots
I still have some issues to solve, and some features to implement, before publish the first final release
Click the image to zoom
Project Diagram
This project like some others, based on well organized exlusive personal
nuget packages
the packages this project uses
The Most Advanced Network Throttling And Monitoring Application
- This Application Is Unique
- Written in
- C/C++: for low level network controlling, and driver programming based on npf
- C# .net for managed code
- WPF for layout
- NoSql Embeded Db LiteDB
- low level code connected to .net via low level interpolotion and un managed .net code
& un safe
The Most Advanced Network Throttling And Monitoring And Controlling Application
- This App Can Control Everything in your network, even how much data user can consume per minute/day/....
- This Application Is Unique, and it is the enterprise version of NetConto
- Written in
- The same as NetConto
- Build Completly in Reactive Programming including UI
Contains an implementations for most of design patterns in C# language
PHP MVC Framework That Porting Some Of [C# Asp.net Core] Features, philosophies To PHP
Wpf Friend Organizing Application Build With Advanced Enterprise Technologies
- Can used as a core of any dynamic high performance desktop application with .net
Embedded terminal project based on Pyqt
Graphic Engine With OpenGL/C++
Numerical System Converter with any base & support Command Line Interface
DefinitelyTyped files to support autocomplete and embedded docs for NwJs Projects
Calculate Center Of Gravity And Area Of 3D Shapes With Drwaing it in 2d/3d with Orthographic/Perspective
- Built with pyqt/opengl/glfw3
Calculate Area With (x,y) points by divide it as triangles
- Demonstrate Advanced Scenarios In Functional Programming , with javascript
- Some projects can not published as a public repository to github now so i will provide a preview for those projects
- Every project link leads to preview
video
on mega cloud provider
Backend Technologies
-
Asp.net Core
-
Architecture
-
- With Hyper Separation Of Infrastructure Layers
- Communication With CQRS
- Implemented With MediatR Pattern as MediatR.net Package
-
Both Client Side And Server Side Respect All Solid Principles
- except store part of client side since using DI(IoC) with react/mobx is just an overhead
so we use self-referencing
God Object
anti pattern- this pattern
anti
can be used safely with some restrictions in dynamic typing languages - since this may leads to issues with some of testing methodologies (FDD/BDD)
@ subcutaneous test, UI test
if developers does not know how to controlling its side effects
- this pattern
- except store part of client side since using DI(IoC) with react/mobx is just an overhead
so we use self-referencing
-
To Respect SCP we delegated validation out of
entity framework core
to Command or Query in CQRSMediatR
- we use
FluentValidation.AspNetCore
package to support popular validation, also created some custom validations
- we use
-
All Loading of nested entities done with
LazyLoadingProxies
middleware to prevent loading non necessary data- For that we use
AutoMapper
without needing to configure it with ef core, since all loading be lazy
- For that we use
-
All Mapping With
AutoMapper
PackageDependency.Injection.CORE
version -
Notes
- We Delegate any logic out of Domain Layer, so domain only have models
- and as known in testing ,
Domain models are not application entities
so Model is a purePOCO
object
- and as known in testing ,
- We Delegate any logic out of Domain Layer, so domain only have models
-
-
Database
- Developing
sqLite
- Production
SqlServer
for AzureMySql/MariaDB
for Linux Server
- Developing
-
VCS
- GitHub
-
Cloud Providers
- Cloudinary For Image storage and images manipulation eg,
Focus cropping to face
- Cloudinary For Image storage and images manipulation eg,
-
RealTime & MultiCasting Communications
- SignalR
Frontend Technologies
- React
- UI manager
- Typescript
- Type safety enhancer
- Axios
- HTTP client
- mobx-react-lite
- State management system
- semantic-ui-react
- Layout/UI Components
- react-router-dom
- Routing System Provider/Controller
- react toastify
- Toasting Messages
- react final form
- Form Wrapper
- revalidate
- Prebuilt validations for form fields
Project Structure
-
Domain
- Contains all domain entities projects
- Zero Local Dependency
-
Application
- Contains all business logic projects
- Depends on
- Domain
- Persistence
-
API
- Contains Web API projects
- Responsible for receiving and responding to http requests
- Depends on
- Application
-
Persistence
- Contains Persistence projects
- Responsible for database access and queries
- Depends on
- Domain
-
Infrastructure
- Local
- Contains local infrastructure projects eg, IoC, Security, Interfaces
- Remote
- Contains remote infrastructure project eg, Cloud repositories for images and videos
- Local
-
Presentation
- Contains UI/Client projects eg, reactApp , angularApp ...
- But Not Asp.net Core MVC App
This project is web api & client
- Ignored by default from .git of backend to allow work separately on front-end
-
Dev
- For any development files
- Ignored from git track
Technologies
- PHP :
Pure 7.1
- Sessions :
Used Apache Server Sessions , No Client Session, Only cokie with id
- Jwt :
AuthSystem Base
Every Server Side Functionalities Built from scratch except jwt generator
- MySql
- Bootstrap 4
- Files Provider : Local File System
Notes
-
This application demonstrate the main design paradigm php oriented to , which called/ImplementedAs
Spaghetti Pattern
- This Pattern considered as an
anti-pattern
, so it's very dangerous to use it in medium+ application But since it is the most common paradigm php designed forfor example you can use(access/modify) many global/static variables from anywhere in the code
which violate SRPSingle Responsibility Principle
- This Pattern considered as an
-
So, Why Create This app with this pattern ?
- Answer : to demonstrate some of use cases of this pattern , and show how very easy this pattern may destroy any project with just simple refactoring
-
At the end , there is no way in php to implement things like Clean Architecture without top-level abstraction layers eg, frameworks
eg, laravel
to restrict some of the language features or produce an alternatives of anti-pattern core features ,but surely this will comes with performance costs
Technologies
- Backend : Asp.net Core Web API
2.2 => 3.0
- Frontend Container : Angular8
- UI Helpers : ngx-bootstrap
- Sqlite & SqlServer
- Files Provider : Cloud
Patterns
- Based On repository pattern
- Respect Modularity & SOLID Design Principles
Technologies
- Asp.net Core MVC : 2.1
- Razor Pages
For Registeration System Layout
- SqlServer
- Files Provider :
Local File System
Details
- Used Python Tkinter as a GUI Library
- Allow any widget or window to be on top/top-most and allow click through via alpha chanel
- Highly Customizable if needed, but it can work directly without any additional configuration
- Handle Clicks
- Optionally override the widget geastures
- Drag and Drop
- Customizable z-index depth visability
Details
- UI Version
- developed with wpf & windows system sdk
- Silent Version
fetching passwords list by just clicking on exe file and save it to exe location
- developed with windows form
- Note
- I remove tracking keyboard via remote server functionality since it is not encrypted and most of antivirus software
will treat it as a malicious software
-
this happens because this functionality based on execute
memory injection
attack from C++ dll via unsafe code so you need to encrypt the source code and only compile it on the flay, so i will need to ship gcc compiler with this app, since neither me or you have a certification to publish this application with it and we can not legally accomplish this, so i just decide to move it to my rates software repositoryprivate
. -
Also still need to chip
gcc
org++
withthe spy server
to allow low level execution , and this will only work well with windows xp, vista,unless you have a vulnerability to melt this app process with it :)
-
Also you should know , this mechanism is very popular in
RAT
applicationseg, njRAT
.
-
- I remove tracking keyboard via remote server functionality since it is not encrypted and most of antivirus software
will treat it as a malicious software
The main purpose of this app is demonstrate using pointers between different windows without losing data in wpf app
Technologies
- Wpf
- SqlServer & SQLite