Context
Ranhill SAJ needed to digitize their project submission process, which was handled entirely through manual workflows. The goal was to create a modern web platform that would streamline submissions, improve tracking, and reduce processing time.
Constraints
- Replacement of established manual workflows requiring careful change management
- Multiple user roles with different access levels and submission workflows
- Document management requirements for project submissions
- Server setup and configuration responsibilities included in scope
- Technical leadership role across the entire project
Architecture
API-first architecture with Laravel Octane serving the backend REST APIs and Nuxt 3 powering the portal frontend. The decoupled architecture allows the portal and API to evolve independently while maintaining clean API contracts.
Key Decisions
- Nuxt 3 for the portal: Server-side rendering for fast initial loads, with Vue.js reactivity for the complex form workflows required by the submission process.
- Laravel Octane for API performance: High request throughput for document processing and submission workflows.
- RESTful API contracts: Clean separation between frontend and backend, enabling potential future integrations with other SAJ systems.
Security & Reliability
- Role-based access control for different submission workflow stages
- Secure document upload and storage handling
- API authentication and authorization for all endpoints
- Server hardened following security best practices
Execution
- Served as technical lead for the project
- Designed database structure and API contracts
- Developed backend APIs using Laravel Octane
- Configured server setup on Ubuntu with Nginx
- Led technical discussions and architecture decisions
Outcome
- Successfully digitized manual project submission workflows
- Reduced processing time through automated workflow management
- Provided full audit trail for all submissions and approvals
- Delivered within project timeline with clean architecture for future enhancements