Skip to content

Latest commit

 

History

History
190 lines (125 loc) · 7.04 KB

code-quality-goals.md

File metadata and controls

190 lines (125 loc) · 7.04 KB

Code Quality Goals

Things that CQ can be

Guide and standards and Opiniondated boilerplate

First goal is to create our perfect app in terms of architecture, code complexity, code style, etc.

This app is aimed to be the fundation of all of our future projects and it needs to be complex and solve all the problems that we have encontered and more.

At the same time we want to document all the knoledge learned, the why's and how's of the construction of this system, we believe that there are tons of guides on basic and medium level stuff but its really hard to find Enterprise level guides and standards.

Another extra goal of this project is to also mantain a catalog of apps and anti-patterns, I personally believe that we could pass years or decades of experience by coding and documenting our fuckups and making the learner code and fuckup all our fuckups in a few months instead of through his first years of carreer.

Consuling/Development Company

A consulting/development agency with the best standards on the industry in code complexity management and architechture.

This company will be suported by the now rich catalog of enterprise level learning content.

Similar (but better) to:

Geekyants
appandflow.com
callstack.com

Gister

Gister This company deserves to be reviewed in depth

the-skill-thats-paving-the-way-for-freelancers-to-make-500k-or-more

Fullstack framework

From all the leasons learned by traversing the previous steps we are ready to build our own framework, a Full Stack Open Source rapid prototyping Entreprise level zero dev-ops organic non GMO Framework.

This Framework will consist of the best libraries, patterns, archithecture, focused on simplicity of code, and development performance, no need to put another team into the arduous and expensive process of creating a full stack system.

System needs to have all the nice features: Authentication, Database integration, Parameters validations, security, architectural boilerplate, measurable performance, logs, integration with services like mailing, analytics, etc. Serverless support, cost calculator, standarize dev ops architecture, etc.

Producs/Services/Tools

Once we start having companies using our system we can create paid services to support this companies.

  • Enterprise support
  • Managed Authentication
  • Managed Databases
  • Managed Backend
  • Managed Microservices
  • Zero devops
  • Tools for analyzing the efficiency in rendering of react applications.

Characteristics of a Code Quality Example App

  • Be complex enough to exemplify architectural desicions
  • Help the Code Quality Project
  • Something that could be used in the future

Features for the App

Basic

  • Routing system
  • Authentication with sessions and permissions
  • Complete most common Signup flow
  • User settings

All the others

  • Complex routing system
  • Authentication with sessions and a permission system (JWT are limiting)
  • Complete Authentication flow (recover account, reset pass, signup, etc, verify email after/before register)
  • Diferent Views using same states
  • Complex DB datamodel that needs to be translated into view, this can be solved in the backend or in the front
  • Ads
  • Video
  • GIFs
  • Real time updates, multiplayer
  • User settings
  • Go Premium
  • Social (posts)
  • Infinite scrolling
  • Galery
  • Voting, Liking

Ideas for the App

An introspective App that tells you information about the system: The amount of renders in react, times it takes from startup to last render, etc.

A learning platform, implement stuff that require us to learn new things like:

Math and Algorithms Learning Paths Psychology and Culture for a post neoliberaist era Financial Communities A course on Regex Theory on computation Machine learning Anti patterns

Ultimate Goal

Lets say you our your company want to create your own Uber for dogs.

Our ultimate goal is to provide you with the tools (mostly free) to develop an enterprise system capable of handling 10,000,000 dog's rides per day with 10% of the work or less it would normally take.

You should be able to opt out of our managed system and go full open source self hosted any time you see fit.

This is not a no-code fit for all sollution, this is an open source technology framework focused on quality and productivity for developers, startups and enterprise.

Second Ultimate Goal

Become great Engineers and share the knowledge.

Learn and create a path for other people to follow.

Standarize what it means to mean a Jr, Mid, Senior developer. An Engineer, etc.

Possible Names

codequalityframework.com

ARKITEKTOR(архитектор) FRAMEWORK arkitektorframework.com

... @David Help!

Where to start

I'd say we need to focus on three main objectives:

  • Visibility. Get CQ out there and start providing public information.
  • Knowledge. Continue improving our tech knowledge and document the process.
  • Product. Start building things.

Visibility

Kickoff our website, pretty basic at the begging. Maybe start with a non-presumptuous non-opinionated blog about react + node.

  • Define web tech
  • Build and deploy web
  • Organize documentation we currently have into a blog
  • (in some time) We can start an opinionated part of the blog with our own experiences with technologies, proyects, methodologies, architecture decisions...

Knowledge

We need to improve our own knowledge and build our docs from trustworthy sources.

  • Take courses on interesting topics (pluralsight, udemy?)
  • Gather articles and videos to review, share and document
  • Create a to-do list of interesting topics to review

JS

Node

Organize the notes from pluralsight courses.

Angular

React

Other

Product

Building apps, modules, packages, libs... following the learnt practices and use them as boilerplates or open source.

  • Auth server
  • Persistence layer (provide models for different dbs, encrypt data on rest...)
  • Basic react app