https://github.com/killercavin/brightside
Medical Equipment Supplies Hub
https://github.com/killercavin/brightside
kotlin ktor nextjs typescipt
Last synced: about 1 year ago
JSON representation
Medical Equipment Supplies Hub
- Host: GitHub
- URL: https://github.com/killercavin/brightside
- Owner: Killercavin
- Created: 2023-05-25T12:00:03.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-08T21:05:42.000Z (about 1 year ago)
- Last Synced: 2025-04-08T22:20:50.531Z (about 1 year ago)
- Topics: kotlin, ktor, nextjs, typescipt
- Homepage:
- Size: 1.92 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BrightSide
# 📦 Backend Developer Roadmap (Ktor + PostgreSQL)
> My evolving backend engineering journey — hands-on with Ktor, PostgreSQL, and building REST APIs from scratch.
---
## 🌱 Phase 1: Core Backend Foundations
- [x] Setup Ktor project with modular structure
- [x] Build basic RESTful API (CRUD: Products)
- [x] Connect PostgreSQL database with Exposed ORM
- [x] Implement request routing and controllers
- [x] Create `AddProductRequest`, `PatchProductRequest`, etc.
- [x] Use Postman to test endpoints
- [x] Handle simple errors
- [ ] Add request validation (e.g., empty fields, invalid inputs)
- [ ] Implement DTOs vs Domain Models
- [ ] Add pagination and filtering (GET /products?page=1)
- [ ] Manage config with environment variables
---
## 🚀 Phase 2: Production-Ready Backend
- [ ] Add JWT authentication
- [ ] Setup role-based access control (admin vs user)
- [ ] Secure passwords with BCrypt
- [ ] Improve error handling (custom exceptions, status codes)
- [ ] Add createdAt, updatedAt, soft delete fields
- [ ] Implement category ↔ product relationship
- [ ] Add file/image upload for products
- [ ] Add logging (Ktor's CallLogging)
- [ ] Dockerize the application
---
## 🧠 Phase 3: Scale & Advanced Features
- [ ] Add caching (Redis or in-memory)
- [ ] Background job support (email notifications, etc.)
- [ ] Rate limiting and throttling
- [ ] API versioning (e.g., `/api/v1/products`)
- [ ] Generate OpenAPI / Swagger docs
- [ ] Write unit & integration tests
- [ ] Setup CI/CD for auto-deployments
---
## ☁️ Optional Extras
- [ ] Deploy to VPS / Render / Railway / Heroku
- [ ] Add DB migrations with Flyway or Liquibase
- [ ] Enable WebSocket support
- [ ] Try GraphQL for more complex queries
---
📌 **Current Focus**: `Phase 1` near completion — CRUD done, time to polish validations and relations.
📌 **Stack**: `Ktor`, `Kotlin`, `PostgreSQL`, `Exposed ORM`, `Postman`