32 lines
1.9 KiB
Markdown
32 lines
1.9 KiB
Markdown
# 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/)!
|