Overview
CityCare is a hospital management platform designed to digitize operational workflows through a centralized web application.
The project focused on translating complex domain requirements into structured backend services and intuitive dashboard interfaces.
Backend Architecture
The backend exposes APIs for managing application data and workflows.
PostgreSQL provides the persistence layer because the domain contains strongly related entities and requires consistent relationships between records.
The architecture separates:
- API layer
- Business logic
- Persistence
- Frontend presentation
This separation makes individual components easier to modify and test.
Database Design
The relational database models entities and relationships involved in hospital operations.
The design emphasizes data consistency and clear relationships rather than storing large amounts of loosely structured data.
This provided practical experience with relational modeling and backend-driven application design.
Dashboard Engineering
The Next.js frontend provides role-oriented dashboards for operational users.
The UI focuses on information density while maintaining a clear visual hierarchy.
The frontend architecture uses reusable components so common interface patterns can be maintained consistently across the application.
API-Driven Frontend
The frontend communicates with the backend through APIs rather than directly accessing the database.
This creates a clean separation:
React / Next.js → API Layer → Business Logic → PostgreSQL
This architecture also makes it possible to introduce additional clients in the future without duplicating backend logic.
Engineering Takeaway
CityCare strengthened my fundamentals in full-stack architecture, relational database design, API development, and dashboard engineering.
It was an early project that helped establish the foundation for the more complex SaaS, marketplace, financial, and AI systems I later worked on.
