Skip to content

Latest commit

 

History

History
72 lines (63 loc) · 2.27 KB

README.md

File metadata and controls

72 lines (63 loc) · 2.27 KB

100-days-todo

Trying out as many coding stacks/techniques in 100 days with a simple todo app

Idea/Why

While traveling and meeting other devs I realized I have been way to comfortable in my own little C# backend bubble (with the ocasional web frontend and wpf). So it is time to start learning again and try out different frameworks/languages. It should also prove the 'ancient' wisdom that a programmer can write in any language as long as he understands the fundamental problem. Will aim at 1-2 hours a day. Only days that are allowed to be skipped are Saturday/Sunday.

Scope

General

The program will be split up into 3 parts with an optional 4th. Presentation, [Communication] , Logic, Storage. All Communication layers (API) should in essence serve the same output so all detached Presentation layers can process them. Where possible, each layer should be loosly coupled so they can be reused.

Features

  • Add/Remove Todo items
  • Mark/Unmark Todo items
  • Add/remove/edit notes on todo item (shows how to handle data dependecy and component usage)

Out of scope

  • Authentication/authorization (user and aplication wide)

Tech stacks

Presentation

Where possible it should be componentized List of presentation technologies

  • Console (1)
  • Mvc/html/css (1)
  • Vue2/bootstrap (1)
  • Vue3/bootstrap
  • Vue3/Vuetify/TS
  • WPF (1) (Non MVVM for speed (2))
  • MAUI (With new MVVM framework)
  • Winforms
  • Js/html/css
  • React
  • React Native
  • AngularJs (2) (Maybe, its so old)
  • Angular
  • Native Android

Communcation

  • C# MVC (1)
  • C# REST Api (as perfect as possible) (1)
  • Nodejs Api
  • Go Api
  • PHP (2)
  • C++ (Native Android)

Logic

Will be linked to the communcation layer but plans are to use these languages

  • C# (.Net 5)
  • Nodejs
  • Go
  • C++
  • PHP

Storage

This wil be a mix between plain integrations and using ORMs and not all will be done in every language

  • MSSQL (1)
  • MYSQL (1)
  • PostgreSQL
  • NPOCO/PETAPOCO (Have to figure out which one) (1)
  • Entityframework (1)
  • LocalStorage
  • MongoDb
  • Redis
  • CosmosDB
  • File
  • Umbraco (1)

(1) Stacks I already use and are more for completeness/practice
(2) I Shudder at this, but it has to be done