Jynx is a modern Ruby on Rails web application that functions as a link tree-er — a minimalist, customizable hub for organizing and sharing links, profiles, or anything tree-structured.
This project blueprint outlines the architecture, key features, and deployment details for developers and contributors.
Watch Here: (https://youtu.be/5dkDputFysU)
Jynx helps users create and manage visual link trees with user authentication, a clean frontend UI, and PWA support. Built with Rails and containerized for seamless deployment via Fly.io or Render.
- Backend: Ruby on Rails (MVC pattern)
- Frontend: ERB views, SCSS/CSS, JavaScript (via importmap)
- Database: PostgreSQL / SQLite (configurable via
database.yml
) - Authentication: Devise gem
- Deployment: Dockerized; supports Fly.io & Render
- PWA Support: Installable experience for mobile/desktop
- Devise for registration, login, password resets
- User model:
app/models/user.rb
- Full CRUD support for user-generated trees
- Slug-based friendly URLs
- Tree logic:
app/models/tree.rb
- Controller:
app/controllers/trees_controller.rb
- Responsive views (
app/views/
) - Custom themes and layouts via SCSS (
app/assets/stylesheets/
) - JS controllers for interactivity (
app/javascript/controllers/
) - Particle backgrounds, animations, and avatars
- Installable as a web app
- Manifest and icons located in
public/
- PWA views in
app/views/pwa/
Dockerfile
for container buildsfly.toml
/render.yaml
for platform configs- Environment setup in
config/environments/
- Async tasks:
app/jobs/
- Email templates and logic:
app/mailers/
- Unit and system tests in
test/
- Fixtures for test data
- Encrypted credentials via
config/credentials.yml.enc
- Content Security Policy config in
initializers/
-
Startup
- App loads settings from
config/
- DB migrations and seed setup
- Asset compilation for production
- App loads settings from
-
User Flow
- Signup/login with Devise
- Users create/view/edit/delete their tree
- Trees displayed with nested views and dynamic UI
-
Routing
- RESTful routes in
config/routes.rb
- RESTful routes in
-
Deployment
- Build with Docker
- Deploy via Fly.io or Render with minimal setup
File / Folder | Purpose |
---|---|
app/models/tree.rb |
Tree logic & relationships |
app/controllers/trees_controller.rb |
CRUD for trees |
app/views/trees/ |
Tree UI templates |
app/models/user.rb |
Devise authentication |
app/controllers/home_controller.rb |
Landing page logic |
config/routes.rb |
Application routing |
Dockerfile |
App container config |
fly.toml / render.yaml |
Deployment configs |
app/assets/ |
SCSS, images, and frontend assets |
app/javascript/ |
Interactive JS via importmap |
- Ruby on Rails
- Devise — Auth
- Importmap — JS management
- Docker — Containerization
- Fly.io / Render — Deployment
- PWA Standards — Installable experience
This project is open-source and available under the MIT License.
Feel free to fork the repo, open issues, or create pull requests. Contributions, bug reports, and feature ideas are always welcome!
Inspired by link-in-bio tools like Linktree. Built for learning, fun, and practical deployment.
Made with ❤️ by @jcodes