TA Application Management System
2022 · 4 months · Team-Based Academic Project
Full-stack web application for managing teaching assistant applications.
Overview
This project involved designing and implementing a role-based web application for managing teaching assistant applications in an academic setting. The system supported multiple user roles—including applicants, reviewers, and administrators—and emphasized secure access control, structured workflows, and reliable data persistence.
The project was completed as a team-based academic collaboration and focused on applying full-stack engineering principles to a realistic administrative system.
The Problem
Teaching assistant application processes involve multiple stakeholders, sensitive data, and clearly defined review workflows. Without careful system design, these applications can become difficult to manage, error-prone, or insecure.
The challenge was to design a system that could support realistic application submission and review scenarios while maintaining data integrity, clear permissions, and a maintainable backend architecture.
The Solution
Working with a partner, I helped design and implement a full-stack web application using ASP.NET Core MVC, C#, and SQL Server. I contributed to the design of a normalized relational database schema and implemented CRUD workflows using Entity Framework Core and LINQ.
The system enforced role-based access control at both the data and interface levels, ensuring that users could only view or modify information appropriate to their role. A Bootstrap-based interface provided a clear, functional UI for application submission, review, and administrative actions.
The application was deployed to an AWS EC2 instance, providing hands-on experience with cloud deployment, environment configuration, and hosting a production-style web application.
Execution & Iteration
Development followed an iterative approach, with features implemented incrementally and tested across different user roles. As the system evolved, we refined data models, tightened permission logic, and adjusted workflows to better reflect real-world application review processes.
Deploying the application to AWS EC2 surfaced practical considerations around configuration, environment setup, and deployment stability, reinforcing the importance of treating infrastructure as part of the system design.
Constraints & Tradeoffs
As an academic project with a fixed timeline, scope decisions were necessary. We prioritized backend correctness, access control, and data modeling over advanced UI customization. This tradeoff allowed us to focus on building a reliable, maintainable system rather than a highly polished interface.
The technology stack—ASP.NET Core MVC and SQL Server—was chosen to emphasize enterprise-style backend development patterns, even though it required more upfront structure compared to lighter frameworks.
Impact & Results
The completed system demonstrated a fully functional, multi-role application with persistent data storage, clear workflows, and enforced permissions. The project provided hands-on experience with enterprise-style backend development, cloud deployment, and designing systems that support multiple stakeholders with differing needs.
Key Takeaways
This project strengthened my experience designing backend-heavy applications with ASP.NET Core, Entity Framework, and SQL Server. I gained practical insight into access control, relational data modeling, and deploying web applications to cloud infrastructure.
Working on a collaborative codebase also reinforced best practices around application architecture, integration of independently developed components, and reasoning about security and maintainability in realistic scenarios.