Key Results
- Base wide: most of the armories at Camp Lejeune, North Carolina, managed in one custom web application
- One to one: every weapon tied to the Marine it was assigned to
- One to many: crew served weapons tied to three Marine teams by component
- Automatic compliance: monthly cleaning reports sent to every company gunnery sergeant
Summary
As a Sergeant and 4067 Computer Programmer in the United States Marine Corps, stationed at Camp Lejeune, North Carolina, I built an Armory Management System that managed most of the armories on the base. It tracked every weapon and the Marine it was assigned to, handled crew served weapons assigned to teams, logged every check in and check out at the armory window, and automatically reported which Marines had not completed their required monthly weapon cleaning.
It was one of the first custom web applications I ever designed from the database up, and it taught me lessons about relational database design, asset tracking and compliance reporting that I still use on every web development and app development project today.
About the Mission
Camp Lejeune is home to many Marine units, including the logistics command whose website I helped build, the 2nd Force Service Support Group.
About the 2nd Force Service Support Group
The 2nd Force Service Support Group was the logistics backbone of II Marine Expeditionary Force, headquartered at Camp Lejeune, North Carolina. Its lineage goes back to 1944, and according to the official 2nd Marine Logistics Group history the unit relocated to Camp Lejeune in September 1945 and was "Redesignated 30 June 1978 as 2d Force Service Support Group." In Operation Iraqi Freedom, the 2d FSSG formed the Marine Logistics Command. The Marine Corps History Division account of combat service support in OIF explains that "2d FSSG or MLC was the wholesale level logistics organization," responsible for brokering sustainment such as ammunition, fuel and water and pushing it out across the battlefield. In 2005 the Marine Corps renamed every FSSG a Marine Logistics Group, and the command I was stationed with, and whose in garrison website I helped build and maintain, became today's 2nd Marine Logistics Group.
Camp Lejeune: home of expeditionary forces in readiness
The armories I tracked were spread across one of the largest Marine bases in the world. Camp Lejeune has carried the motto "Home of Expeditionary Forces in Readiness" since the 1940s, and the North Carolina Department of Natural and Cultural Resources calls it the largest Marine base on the East Coast. According to the base's own overview, its mission is "to maintain combat ready units for expeditionary deployment," using 156,000 acres, 11 miles of beach for amphibious operations and 80 live fire ranges. It is home to II Marine Expeditionary Force, the 2nd Marine Division and the 2nd Marine Logistics Group, the command once called the 2nd FSSG.
Readiness at that scale depends on knowing where every weapon is. Units train on live fire ranges, deploy on short notice and come home again, and every rifle has to be issued, returned and accounted for each time. That is the problem the armory system was built to solve.
Every unit on a base like this draws its weapons from an armory. Each armory has to account for every weapon it holds, every day, and know exactly who is responsible for any weapon that is out. Multiply that across most of the armories on the base and you have one of the most important inventory problems in the Marine Corps.
The Challenge
Two very different kinds of ownership
A rifle belongs to one Marine. A heavy machine gun does not. Crew served weapons like the M2 .50 caliber heavy machine gun and the Mk 19 40mm grenade launcher are heavy systems made of major components that are carried and maintained by a team. Marine Corps training material breaks the M2 into groups, including the "Barrel group" and the "Receiver group," which "Serves as support for all major components." The same source describes the M3 tripod as "the standard ground mount of the M2A1" and notes that the Mk 64 gun cradle mount is designed for the M2 and "will accept the MK19 also." The Army's M2 training circular adds that the receiver "provides the attachment points for various mounts" and carries the weapon's serial number.
Any system that treated every weapon like a rifle would get crew served weapons wrong.
Knowing what is in and what is out
Armories needed an accurate, live picture of which weapons were on the racks and which were checked out, and to whom.
Making maintenance actually happen
Marines were required to clean their assigned weapon at the armory every month. Tracking that on paper meant leaders spent time chasing logs instead of Marines.
Our Solution: Relational Database Design for Asset Tracking
One to one: each weapon, each Marine
Individual weapons used a one to one relationship. Each weapon record, identified by its serial number, linked to exactly one Marine, and each Marine linked to the weapon assigned to them. Look up a Marine and you see their weapon. Look up a serial number and you see the Marine. That single rule made accountability instant.
One to many: crew served weapons
For the M2 and the Mk 19, I used a one to many relationship. Each crew served weapon was assigned to a three Marine team, and each Marine on the team was tied to a specific component: one responsible for the barrel or barrels, one for the tripod or mount, and one for the receiver, the base of the gun. That team assignment is how my system modeled who carried what. When the team drew the weapon, every component and every Marine was accounted for in one transaction.
Check in and check out inventory
Every transaction at the armory window was logged as a check out or a check in. From those records the system always knew which weapons each armory had in and which were out, and who had them. It was a live inventory, not an end of day count.
Compliance alerts: monthly weapon cleaning
I built a utility that ran at the end of every month. It checked the cleaning records and sent every company gunnery sergeant a list of the Marines in their company who had not cleaned their weapon. Leaders got names, not paperwork, and could fix the gap the same day.
The Technical Picture
- Application type: custom web application with a relational database
- Core entities: armories, weapons (by serial number), Marines, crew served teams, components, transactions, cleaning records
- Relationships: weapon to Marine one to one; crew served weapon to team one to many, with a component per Marine
- Automation: month end compliance report by company
- Stack: my work at Camp Lejeune used ColdFusion, Classic ASP, ASP.NET, C#, SQL Server and Oracle
Results
Most armories at Camp Lejeune ran on one system, with clear accountability for every weapon and every Marine responsible for it. Crew served weapons were tracked the way they are actually carried and maintained, by team and by component. Armories always knew their in and out status, and monthly cleaning compliance turned from a paper chase into an automatic report.
The same thinking carried into my larger logistics work on Small Unit Logistics (SUL), and into Tent Management on deployment.
What It Taught Me
Model the real world, not the spreadsheet. The breakthrough was recognizing that a machine gun is owned by a team, not a person. Today, when we design a WordPress site with custom post types, membership levels or a WooCommerce catalog, we start with how the business really works.
Relationships are the product. One to one and one to many are not just database terms. They decide what questions the system can answer. Good relational database design is why a client can find any record in seconds.
Automate the follow up. The monthly cleaning report was a tiny utility with a big impact. In modern web applications and mobile apps, scheduled reports, reminders and push notifications do the same job.
Accountability builds trust. A system people rely on for weapons has to be right every time. We bring that standard to every custom web application development and platform migration we take on.
Frequently Asked Questions
What is an armory management system?
An armory management system is an asset tracking application for weapons. It records every weapon, who it is assigned to, whether it is in the armory or checked out, and whether required maintenance has been done. Mine ran across most of the armories at Camp Lejeune.
How do you track crew served weapons in a database?
With a one to many relationship. A crew served weapon like the M2 .50 caliber machine gun or the Mk 19 grenade launcher links to a team of Marines, and each Marine links to the component they are responsible for, such as the barrel, the tripod or mount, or the receiver.
What is the difference between one to one and one to many relationships?
In a one to one relationship, each record matches exactly one other record, like a rifle and the Marine it is assigned to. In a one to many relationship, one record links to several, like one machine gun and the three Marines on its team.
Can the same approach work for business inventory?
Yes. The same relational database design powers equipment checkout, tool cribs, fleet tracking, library systems and WooCommerce stores. We build these as custom web applications and mobile apps today.
Related Military Case Studies
- Small Unit Logistics: A ColdFusion to .NET Migration for the Marine Corps
- Armory Management System for Camp Lejeune: Custom Asset Tracking
- Tent Management: A Personnel Tracking System for Deployed Marines
- 2nd FSSG: Building the In Garrison Website at Camp Lejeune
- Marine Corps 4067 Computer Programmer: Learning Ada and Databases at 29 Palms
- Gas, Gas, Gas: The Network Emergency Alert I Built During Operation Iraqi Freedom
In My Words
Building the Armory Management System from the database up, down to tying each Marine on a crew served team to a barrel, tripod or receiver, taught me that good software starts with getting the relationships right.
Brian Messenlehner
Project leadership by Brian Messenlehner.
Need Custom Asset Tracking or Inventory Software?
From armories to enterprise inventory, we design databases and custom web applications that keep track of what matters, and we build the mobile apps that put them in people's hands. Tell us about your project.
Brief Us on Your Mission
Want to talk about a website, mobile app, migration or AI project? Fill out the Mission Brief and a specialist will follow up to schedule a call and put together a free quote.




