Skip to content

wwdenis/prolix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prolix: A footprint for a Clean Architecture

What is Prolix?

According Orford Dictionary, Prolix means "using or containing too many words; tediously lengthy".

Many developers have the same problems everyday, and most of then try to recreate the solutions instead , causing repetitive, boring and tedious code.

Prolix is a starting point for building modern RESTful applications. It is intended to help developers to write clean, maintenable and less code.

Architecture

Prolix is a application framework built on top of .NET Framework, .NET Standard , Xamarin and ASP .NET Web API, using modern practices (SOLID, IoC, etc.) and known tools for developers. It implements a very simple (but powerful) layered architecture (Domain, Data, Logic, App) allowing developers focus on the solution itself.

Technologies

  • Xamarin Forms
  • .NET Standard
  • .NET Framework 4.6.1
  • ASP .NET Web API
  • Entity Framework
  • Autofac
  • Unity
  • TypeScript
  • AngularJS
  • Bootstrap

Structure

Component Description
Prolix Common components and interfaces
Prolix.AspNet Api layer components implemeted on top of ASP .NET Web API
Prolix.Client Base components for client apps (Xamarin, UWP, WPF) and consuming Prolix-powered RESTful apps
Prolix.Data.EF Data layer implementation using Entity Framework
Prolix.Identity.AspNet Authentication layer implementation using ASP .NET Identity
Prolix.Ioc.Autofac Dependency injection implementation using Autofac
Prolix.Ioc.Unity Dependency injection implementation using Microsoft Unity
Prolix.Xam Core components for Xamarin Forms
Prolix.AngularJS TypeScript infrastructure code for consuming Prolix-powered RESTful apps

Links

Roadmap

  • .NET Standard (In Progress)
  • ASP .NET Core
  • Angular CLI Support
  • More data access components (nHibernate, Dapper, etc.)
  • Xamarin Forms sample project (In Progress)
  • More languages (Ruby, Node, Python, etc.)

Sample Project

The Marketplace project demonstrate how Prolix can be used in building RESTful applications and consuming them.

Structure

Component Description
Marketplace.Domain Domain objects (POCO classes)
Marketplace.Data Data layer (Data context and mappings logic)
Marketplace.Logic Business layer (Services)
Marketplace.Api App layer (Controllers, Models)
Marketplace.Web Single page application using AngularJS, TypeScript and Bootstrap
Marketplace.Tests Unit test project
Marketplace.Xam Xamarin Forms PCL project
Marketplace.Client Client and Models shared between API and mobile (.NET Standard)
Marketplace.Sql Application database schema (SQL Server Database Project)

Running the Sample Project

Open the solution Marketplace.sln in the [samples] folder in Visual Studio 2015 (or greater).

The first time you run the project, Visual Studio will try restore the NPM packages from the Marketplace.Web project.

If you see missing dependency errors (e.g. np.Controller), enter the following command in the Command-Line:

C:\Dev\Git\prolix\samples\Marketplace\Marketplace.Web> npm i

Releases

No releases published

Packages

No packages published