website-mcknight-tech/page_content/portfolio.md

33 lines
1.9 KiB
Markdown
Raw Normal View History

2025-01-30 20:05:16 -08:00
# Project Portfolio
I have developed and contributed to hundreds of open source repositories on GitHub (as well as some Private ones that
I cannot share here). This is just a selection of some of my favorite projects and what I like about them.
## `neon-data-models`
This repository contains barely any functional code, but it was an exercise in careful planning.
It is structured into a logical hierarchy with documentation and unit tests.
This project was not fully integrated to the extent I planned, but it proved invaluable in defining/validating
messages sent between modules. The use of Pydantic also means that validator methods can be used to adapt an old-style
input into a new one when an API changes.
## `neon-users-service`
This project defines a service for managing a user database with a flexible backend; initially, it supports SQLite for
a standalone system (and easy development/testing) and MongoDb, which is what we used for production at NeonGecko.
I implemented a very simple CRUD (Create/Read/Update/Delete) design, with RBAC (Role-Based Access Controls) to enable
easy integration with applications. The design enables the service to be easily adapted to any user database and to
allow other services to easily operate on user entries (with the proper permissions, of course).
## `neon-hana`
This is primarily a RESTful API used to access other services. This is one of the more complex FastAPI applications
I have written; it implements JWT authentication and Pydantic models to validate requests/responses.
## `neon-diana`
This isn't the prettiest project, but it is my first foray into writing Helm charts. The module provides some
developer-oriented CLI tools for generating Helm charts to deploy the same services NeonGecko uses in production
systems.
## `neon-docs`
Just what it says, this is all documentation.
## This Site
I fully defined this site using [nicegui](https://nicegui.io/)!