Glue aims to be an extremely opinionated design system, frontend, backend, database framework. It shares many design patterns and best practices across all of my web apps. It "glues" them together.
After building ~80 full-stack web apps, I realized that most websites follow a large set predicatable design patterns. If I'm able to capture this large set in a framework, I'll never have to write duplicate code for a design pattern I've implemented in the past.
It's currently closer to a glorified full-stack boilerplate. But I hope to build a full-stack framework some day. Opinionated frameworks limit customizability, but I hope to expand Glue to support all possible "common" variations of a web app.
I think this will be possible from a UX perspective rather than a software one. Users don't like UX that they've never experienced before. This encourages web builders to imitate UX that have been commonly implemented. If the intended UX repeats, so do design patterns to implement that UX.
Glue is the culmination of my ~5 years of full-stack web development. It's my ultimate pet project that I hope to cultivate until either the web or I am gone from this world. If Glue survives until my 30s or 40s, I hope to rename it to a more human name and consider it my "baby".
- Import this repo to clone it (click on the + sign at the top right side of the page)
- Add glue remote
git remote add glue https://github.com/jay-joo-code/glue3-root.git
git fetch --all
git switch -c glue-main glue/main
The format of the project gmail account is [email protected].
Add branch protection rules in the repo settings to force users to create a PR + get approval to commit changes to main.
Refer to RideHub repo settings.
Pushing specific commits to Glue root
$ git checkout glue-main
$ git cherry-pick <commit-hash>
$ git push
Setting upstream to glue/main
$ git branch -u glue/main
Push to glue/main
git push glue glue-main:main
The entire backend is handled by Supbase.
- Create a
profiles
table - Link
id
column with reference toauth.users.id
Update sentry.properties
file with project name (ex. glue3-referhub)