Skip to content

Prolix: Implement Comment-Less code

License

Notifications You must be signed in to change notification settings

IsmaelMendonca/prolix

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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.Core Common components and interfaces
Prolix.Api Api layer components implemeted on top of ASP .NET Web API
Prolix.Http Http client components for consuming Prolix-powered RESTful apps
Prolix.Data.EF Data layer implementation using Entity Framework
Prolix.Identity.AspNet Authentication layer implenentation using ASP .NET Identity
Prolix.Ioc.Autofac Dependency injection implementation using Autofac
Prolix.Ioc.Unity Dependency injection implementation using Microsoft Unity
Prolix.Angular TypeScript infrastructure code for consuming Prolix-powered RESTful apps
Prolix.Xam Core components for Xamarin Forms

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

About

Prolix: Implement Comment-Less code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 88.5%
  • TypeScript 11.5%