Building My Final Year Project

Shipping your first production project is a milestone. Here's what I learned from mine.


🎯 Project Overview

For my final year project, I developed the CS One Stop Portal β€” a centralized web application designed for Computer Science students and lecturers. The goal was to create a single platform for sharing resources, managing announcements, organizing collaborations, and enhancing academic communication.

This project combined modern web technologies with practical university workflows, focusing on both functionality and user experience.


🧠 Tech Stack

The system was built using a combination of modern technologies that ensured scalability, security, and maintainability:


βš™οΈ Core Modules

The system was divided into several core modules:

  1. User Management – Handles registration, authentication, and role-based access (student, lecturer, admin).
  2. File Sharing & Resources – Allows uploading, updating, deleting, versioning, and sharing files or folders.
  3. Announcements – Lets lecturers and admins broadcast messages to selected groups or all users.
  4. Collaboration & Discussion – Enables students to form groups, chat, and assign tasks.
  5. Dashboard – Summarizes key information for each user role, such as recent uploads or announcements.

🧩 System Design

I started with a System Requirement Design (SRD) report outlining both functional and non-functional requirements β€” covering aspects like performance, scalability, and security.

The backend was designed using a modular architecture, with each feature represented as a separate router in tRPC.
For the database schema, I followed normalization principles and enforced referential integrity using Prisma relationships.

Here’s a simplified structure:


πŸ§ͺ Testing & Evaluation

I prepared a Testing Report that included test cases for each module, such as:

Each test case was validated using both manual testing and API endpoint checks via Postman.


πŸ’‘ Lessons Learned

  1. Start with a solid database schema – It prevents most issues later in development.
  2. tRPC is a game changer – Type-safe APIs speed up debugging and ensure consistency between frontend and backend.
  3. Clerk integration was straightforward and saved a lot of time managing authentication flows.
  4. UI/UX consistency matters β€” Tailwind and shadcn/ui helped me maintain a professional look across pages.
  5. Deploy early β€” Testing your app in a production-like environment reveals hidden bugs you won’t find locally.

πŸš€ The Result

By the end of the semester, the portal became a fully functional platform where users could register, upload files, post announcements, and collaborate seamlessly.
It not only met all the academic requirements but also served as a real-world ready application that could be scaled for departmental use.


🏁 Conclusion

Building the CS One Stop Portal taught me the entire lifecycle of a software project β€” from requirement analysis to deployment and testing.
It strengthened my skills in full-stack development, system design, and project management.

If you’re starting your final year project soon, my advice is simple: plan early, build consistently, and test often.
The journey is tough, but the satisfaction of seeing your project live is worth every line of code.