← Selected workeFolio
ACADEMIC CAPSTONE / CASE STUDY 03

eFolio.

An academic assessment portfolio platform connecting students, faculty, and administrators.

Developed collaboratively as a senior academic capstone project at Georgia Gwinnett College (GGC), eFolio streamlines student artifact submission, faculty rubric assessment, and institutional accreditation review. My verified contributions focused on portfolio content reporting, API rate limiting, role-based restrictions, and notification preference controls through merged PR #76, alongside team pull-request reviews.

Private source repository My contributions
Academic CapstoneGGC collaborative platform
Merged PR #76Security, reporting & controls
Team CollaborationPR reviews & branch integration

Collaborative academic assessment platform developed at Georgia Gwinnett College. Verified through manual REST API validation, feature branch reviews, and integrated pull requests.

Academic assessment requires structured evidence, not scattered files.

University degree programs require continuous tracking of student learning outcomes across semesters for accreditation, but evidence is often scattered across disparate tools.

Accreditation boards (such as ABET and SACSCOC) evaluate academic degree programs by assessing direct evidence of student learning. In practice, however, student coursework, evaluation rubrics, and faculty scoring frequently live in separate spreadsheets, email threads, and course folders. This fragmentation creates significant overhead when administrators need to aggregate program-wide outcome data.

Furthermore, an assessment system must accommodate distinct stakeholder responsibilities: students need a clean interface to curate work artifacts, faculty require clear rubrics to score competencies, and administrators need high-level reports across cohorts without exposing unauthorized evaluation records across classes.

eFolio addresses this by providing a unified, multi-role web platform: a central repository for student portfolio artifacts, structured evaluation workflows for faculty, and aggregated outcome reporting for institutional assessment.

Backend reporting, API rate limiting, and access controls.

eFolio was developed as a collaborative senior capstone project at Georgia Gwinnett College. My primary technical contributions were delivered through merged pull request #76, focusing on data reporting services, API hardening, role-based endpoint protection, and notification controls, supported by manual API testing and peer code reviews.

01

Portfolio Content Reporting (PR #76)

Authored backend data extraction and aggregation queries to compile student portfolio content, submission timestamps, and evaluation statuses into structured reports. This enabled faculty and academic reviewers to audit student progress and institutional outcomes across course sections without manual compilation.

02

API Rate Limiting & Abuse Prevention (PR #76)

Configured Express rate-limiting middleware to guard authentication endpoints and data-intensive reporting queries against burst traffic and brute-force enumeration. Established windowed request thresholds to ensure stable server operation during peak assessment deadlines.

03

Role-Based Endpoint Restrictions (PR #76)

Enforced role-based access control (RBAC) across Express routing middleware, verifying user permissions so that students, faculty, and administrators access only their authorized views. Ensured that sensitive scoring rubrics and aggregate assessment data remain inaccessible to unauthorized client requests.

04

Notification Preference Controls (PR #76)

Implemented configurable notification settings allowing users to control alert preferences for key portfolio events, such as milestone submissions and evaluation completion, reducing notification fatigue while keeping stakeholders informed.

Team Collaboration & Attribution: eFolio was built collaboratively with fellow GGC capstone classmates. All major features were coordinated across Git branches and integrated via pull-request reviews. Pull request #59 involved integrating a teammate's feature branch into the shared line; its underlying commits reflect collective team work rather than solo authorship. My verified individual engineering contributions are centered in merged PR #76.

Multi-role full-stack architecture with REST endpoints and document storage.

The system connects a dynamic React frontend to an Express REST API, enforcing role-based permissions and rate limiting before routing requests to MongoDB collections.

SYSTEM MAPSIMPLIFIED ARCHITECTURE, NOT A SCREENSHOT
01 / CLIENT INTERFACEReact Single-Page ApplicationRole-specific dashboards for Students, Faculty, and Program Administrators
02 / SECURITY & ROUTINGExpress Middleware PipelineRequest rate limiting (PR #76) · JWT authentication · Role-based access control
03 / SERVER APINode.js & Express 4 REST APIPortfolio CRUD · Assessment rubrics · Notification preferences (PR #76)
04 / REPORTING ENGINEContent Aggregation Service (PR #76)Compiles portfolio submissions and evaluation metrics for accreditation audits
05 / PERSISTENCEMongoDB Document CollectionsPortfolios · Artifacts · Assessment Rubrics · User Roles · Notifications

Conceptual architecture based on the academic repository design. Services run in a decoupled client-server configuration.

Core capabilities of the assessment platform.

01

Student Artifact Management

Students upload and organize learning artifacts (documents, presentations, project reflections) linked to specific courses, building a progressive portfolio demonstrating mastery of degree competencies.

02

Faculty Rubric Assessment

Instructors evaluate submitted artifacts against standardized departmental rubrics, recording criteria-specific scores and qualitative feedback directly into the platform.

03

Aggregated Content Reporting

Administrative dashboards query portfolio completion rates and rubric scores across cohorts, producing structured summaries for accreditation reviews without manual data wrangling.

04

Defensive Endpoint Security

Layered rate limiting and role verification prevent unauthorized access, protecting sensitive student grades and preventing server overload during end-of-semester submission peaks.

Tested endpoints and collaborative workflows.

Because eFolio handles sensitive academic records across multiple roles, changes were verified through API testing and collaborative peer code review before branch merges.

Manual REST API testing (PR #76)

Validated reporting queries, rate-limiter thresholds, and status codes (200, 400, 401, 403, 429) across reporting, notification, and authentication endpoints using API testing tools.

Role-based access validation

Verified that unauthorized requests (e.g., student tokens attempting to trigger administrative reporting queries or faculty evaluation updates) were rejected with strict 403 Forbidden responses.

Collaborative Git review & integration

Coordinated feature development through Git branches, pull requests, and peer reviews, validating branch compatibility before merging into the capstone repository.

What I learned collaborating on an enterprise-scale capstone.

Working on a multi-role institutional platform emphasized the importance of defensive API design, role boundaries, and disciplined branch integration.

In an academic capstone, different team members build features concurrently. Coordinating shared Express routes and MongoDB collections required agreeing on clean API contracts early, ensuring that adding rate limiting or reporting queries didn't interfere with ongoing work.

Implementing security-focused features like rate limiting and role-based restrictions reinforced that authorization isn't just a frontend concern—every backend endpoint must independently defend its data boundaries. Contributing to eFolio gave me valuable experience building full-stack software that balances user needs with strict access controls.