Version 5.1 — Because love, too, can be engineered.
Velora is a full-stack matchmaking and real-time social interaction platform built with Next.js, Express.js, PostgreSQL, and Nginx.
It provides user registration, intelligent matching, real-time chat, and notifications inside a secure, scalable, and production-ready architecture.
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js | Modern SSR/CSR React application |
| Backend | Express.js | REST API + Socket.IO real-time layer |
| Database | PostgreSQL | Users, chats, matches data storage |
| Proxy / Deployment | Nginx | Reverse proxy, SSL, production routing |
Velora is designed as a modular full-stack system:
- Frontend communicates via centralized API layer
- Backend follows MVC architecture
- Real-time communication handled via Socket.IO
- Nginx manages routing and production traffic
main→ Production-ready stable releasedev→ Active integration branchfeature/<name>→ New featuresfix/<name>→ Bug fixes
- Create a Linear issue (feature or bug)
- Create a feature branch from
dev:
git checkout -b feature/LIN-123-chat-system- Implement feature following project standards
- Push branch and open a PR into
dev
- PR title must include Linear ID:
LIN-123: Implement chat system backend
- Link issue in description:
Closes LIN-123
✔ Automatically closes issue when merged
Follow Conventional Commits:
feat: add matchmaking algorithm
fix: resolve socket disconnect issue
refactor: optimize user query logic
docs: improve API documentation
Rules:
- One logical change per commit
- Keep messages clean and meaningful
- Always run:
pnpm lint && pnpm formatStructure:
server/
├── models/
├── controllers/
├── routes/
└── middlewares/
Rules:
- Keep controllers lightweight
- Use parameterized queries or Prisma/Sequelize
- Validate inputs using middleware
- Centralized error handler required
Structure:
components/pages/hooks/lib/
Rules:
- Prefer server components when possible
- Centralize API calls in
/lib/api - Tailwind CSS for consistent UI system
- Fully responsive by default
- Backlog → Not started
- Todo → Ready
- In Progress → Active development
- Review → PR under review
- Done → Merged
| Level | Meaning |
|---|---|
| 🔥 High | Core / blocking features |
| ⚙️ Medium | Enhancements / UI updates |
| 🧹 Low | Minor fixes / cleanup |
Every feature MUST:
-
Have a Linear issue
-
Use issue ID in:
- Branch name
- PR title
- Commit messages
Example:
Closes LIN-123
- Passwords hashed with bcrypt
- Authentication via JWT
- Protect all private routes
- Never commit
.envfiles - Validate all inputs (prevent SQLi + XSS)
- HTTPS required in production (Nginx)
pnpm installDATABASE_URL=postgres://user:password@localhost:5432/velora
JWT_SECRET=your_secretpnpm -C backend dev
pnpm -C frontend dev/api→ Express backend/→ Next.js build
Ensure SSL is configured in:
/etc/nginx/sites-enabled/
- Code builds successfully
- No console logs / debug code
- Follows naming conventions
- Security checks passed
- Linked to Linear issue
- Tested locally
- Assign yourself a Linear issue
- Create a feature branch
- Follow commit + code standards
- Open PR to
dev - Fix review comments
- Merge after approval
Private project — educational use only.
Velora Core Team Built with ❤️ using Next.js, Express.js, PostgreSQL, and Nginx