Portcullis

Secure, resilient remote door control system built with General Dynamics Mission Systems

NAU Capstone Project
CS 476/486C
2025 – 2026

Project Details

Project Description

Our project, developed in collaboration with General Dynamics Mission Systems, focuses on creating a secure and resilient remote door controller system designed to protect critical infrastructure. General Dynamics operates numerous remote facilities across the United States that house sensitive, high-value equipment. This creates a need for reliable access control that protects assets while supporting operations. The challenge is ensuring secure access for authorized personnel even during network disruptions or power outages. Our goal is to create a robust solution that allows administrators to securely monitor and control door access from anywhere in the world, providing real-time logging, intrusion detection, and remote credential management.

Our Solution

Here is a high-level diagram and summary of what we have built to accomplish the requirements.

Portcullis Solution Overview Technology Stack

Data Flow/Tech Stack

The Raspberry Pi acts as the main local control unit at each door, interfacing directly with the door lock and card reader. It handles real-time access events and dictates control to the door lock. With every access attempt, the Raspberry Pi logs each event and delivers that data to the database and other components through tools hosted on Amazon Web Services to transmit the data to other parts of the system in real time. It handles all access requests and audit logs locally, enuring the door can operate even during network disruptions, and when connection is reestablished, the information will be immediately delivered to the database.

The physical components of the system are containerized with Docker, containing the necessary software to interface with the card reader and door lock, with connections established to AWS services to ensure secure communication and data flow. This allows for easy installation for each door and ensures consistent operation across all locations where the system is deployed.

AWS Lambda is the tool that acts as the secure communication channel between the access unit to the rest of the system. It receives all event logs from the control unit and sends them to the central database. It also receives information from the database, such as authorized users for the door, and sends that information to the Raspberry Pi to use to dictate access control.

The PostgreSQL database, hosted on AWS RDS, serves as the central repository for all system data, including user credentials, access logs, and system configurations. It provides a secure and scalable backend that supports real-time data retrieval and storage for all parts of the system, ensuring that administrators can access up-to-date information at all times and the system remains synced across all components.

On the operator side, an Amazon EC2 instance hosts two services: a Node.js API that handles authentication and backend logic, and a React web application that gives administrators a real-time dashboard to monitor door status, manage users, and review access events from anywhere in the world.

Through development of the Portcullis system, we utilized GitHub for version control and project management, allowing the team to maintain consistent code and documentation between all members. Unfortunately, the team is not authorized to share the GitHub repository for this project, but information about the development process and project management can be found in the documents archive.

Overall, this architecture ensures that the system is secure, resilient, and provides comprehensive control and monitoring capabilities for critical infrastructure access management and the team is proud to have made significant progress with General Dynamics Mission Systems in this project.

Schedule

Here is our expected development schedule to build this project. While we planned for hard deadlines, the development cycles ended up being much more dynamic in nature.

Project Schedule

Key Milestones

  1. December 10 (End of Fall 2025 Semester)

    By the end of the Fall semester, the PostgreSQL database and server were developed and able to handle basic tasks and data storage, kicking of the first major milestone in this project and allowed the team to begin work on the next critical piece, the administrator dashboard.

  2. January 30 (Early Spring 2026 Semester)

    Early in the Spring 2026 semester, the administrator portal was completed with a fully functional admin interface with API endpoints connected to the database and server. At this point, most of the core functionalities of the system were integrated in a virtual environment, with the exception of the physical hardware components, which was the next step for the team.

  3. February (Middle of Spring 2026 Semester)

    Around the midpoint of the semester, the software for all physical components was developed and functional locally, with basic connections to AWS services. AWS was deployed and connected to the system with all secure lines of communication established between the database and administrator portal primarily.

  4. April 30 (End of Spring 2026 Semester)

    At the conclusion of the capstone, a fully developed system was delivered. The Raspberry Pi hosts the server entirely in a Docker instance with all AWS connections properly established, the administrator portal is fully functional and connected to the database, and most importantly, all hardware is integrated, and the system fulfills all project requirements with the final product delivered to General Dynamics Mission Systems.