Multi-Tenant Application - A database per tenant project.
This is a project I’m working on to explore and understand a multi-tenant application architecture. This project is a work in progress. Currently the application is setup where tenants share the same application (frontend and backend) but access their own isolated database based on subdomains. Authentication, creating user acounts and permissions are working. Currently working on Stripe Subscription integrations.
- Multi-Tenant architecture.
- Shared application (frontend/backend) for tenants
- Database per tenant.
- Tenants are resovled based on subdomains.
- On regeistration a tenant is given a subdomain for their company and a new database is scaffolded.
- Authorization - Users can be limited to sepcific modules with specific permissions/operations (create, read, update, delete)
- WIP - Integration with Stripe Subscriptions.
- WIP - Containerizing backend, frontend, and database for deployments.
Simple Notes - A note taking application.
This project started as a learning project to get a deeper understanding of Angular and state management with Ngrx. The concept is a utility application for students to organize their school day.
- A note taking feature which support markdown with live preview and exports to different formats.
- A calendar for scheduling event and todo lists.
- An interactive flash card tool go create study cards.
- A document builder to compile several topics/sections into a single document.
Node Realtime Chat Application
Created a room based, realtime chat application using Socket.IO. Users can either generate a random UUID room or give a name. Others with that room name can join and chat. Chat messages are not persisted and disappear after they are sent to connected users in the room.
Linux Server Setup
Blog & Project Server on Linode
- Setup and configured a reverse proxy server with Nginx
- Setup, configured, and generated SSL certs for all sites and applications using Certbot.
- Deployed a Node chat application using Socket.io behind proxy.
- Setup and configured a basic Jenkins (CI/CD) to clone my github blog repository, build, and deploy my blog on push and pull requests.
Future Plans: I’m currently learning Docker and containerization. I will be containerizing the Nginx server, the Jenkins server, the blog, and the chat application as a learning project.
Hyrdoponics Automation Project
This is a personal project aimed to automate growing hydroponic plants. It uses a Raspberry PI 3 with various sensors to collect data to display in a Angular dashboard. Also uses relay to allow toggle lights, fan, nutrient pumps through the web interface.