Skip to content

About

Simple freelancing app created as part of enginnering thesis for university.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

255 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

InstantJob - simple freelancing app

Table of Contents

1. Introduction
2. Architecture
3. Technologies

This application was created as part of an engineering thesis for university. Its main purpose was to research and gain experience in technologies, libraries and architecture commonly used to create web applications. Many concepts were adapted from popular github repositories and other sources.

2.1 High level view

  • Frontend - a simple web application written in React.JS
  • API, Jobs module, Users module - ASP.NET Core app
  • Job offers data, Users data - PostgreSQL databases
  • Event Bus - in memory event bus (RabbitMQ or any other broker could be used instead)

architecture-Page-2

2.2 Solution level view

Solution and project structure is mainly based on Clean Architecture and Modular Monolith with DDD. Modules consist of multiple projects with the following responsibilites:

  • Domain - the Domain model of a module
  • Application - logic responsible for processing incoming requests: use cases, event handlers etc.
  • Infrastructure - code for accessing external resources such as database access
  • IntegrationEvents - contracts published to EventBus

The solution is divided into 4 parts:

  • Building blocks - base domain concepts and other commonly used types
  • Modules - Users and Jobs modules which contain domain related data and logic
  • Persistence - entities mappings for NHibernate
  • Web - responsible for authentication and passing request to other modules

obraz

The following technologies, frameworks and libraries were used for this project:

About

Simple freelancing app created as part of enginnering thesis for university.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages