프로젝트 내용

제조업 중소기업의 아날로그식 재고 관리 프로세스를 전산화하기 위해 개발한 데이터 수집 및 관리 솔루션입니다. 실무 현장의 불편함을 해소하기 위한 목적으로 시작되었으며, 안드로이드 클라이언트와 윈도우 어드민 시스템으로 구성되었습니다.

1. 프로젝트 개요

  • 성격: 개인 프로젝트 및 사업화 추진
  • 기간: 2023.05 - 2023.10
  • 규모: 개인 프로젝트 (1명)
  • 플랫폼: Android (Client), Windows (Admin)

2. 기술 스택

  • Language: Kotlin (Android), C# (Windows)
  • Framework: Android SDK, WinForms (.NET Framework)
  • Database: MariaDB

3. 주요 기술적 특징

멀티 플랫폼 클라이언트-어드민 구조

현장 작업자와 관리자의 요구사항을 분리하여 시스템을 설계했습니다.

  • 안드로이드 클라이언트: 현장 작업자가 입출고 및 재고 데이터를 실시간으로 입력하는 용도입니다.
  • 윈도우 어드민: 관리자가 수집된 데이터를 조회하고 장비 및 직원 정보를 통합 관리하는 시스템입니다.
  • 데이터베이스 통합: 이더넷 통신을 통해 중앙 MariaDB에 직접 연결하여 양쪽 플랫폼의 데이터를 동기화했습니다.

기술적 부채와 아키텍처의 중요성

초기 개발 단계에서 겪은 시행착오를 통해 소프트웨어 구조에 대한 깊은 고민을 하게 되었습니다.

  • 데이터 접근 로직의 문제: 별도의 도메인 계층 없이 비즈니스 로직 내부에서 직접 DB 통신을 수행했습니다.
  • 유지보수의 어려움: 로직이 반복되고 코드 간 결합도가 높아지면서 작은 수정에도 전체 시스템이 영향을 받는 구조적 한계를 경험했습니다.
  • 아키텍처 학습의 계기: 이를 통해 MVC, MVP 등 디자인 패턴의 필요성을 절감하고 소프트웨어 유지보수 기법에 관심을 갖게 되었습니다.

4. 프로젝트 회고 및 교훈

사업성과 개발의 상관관계

기술적 구현 능력 못지않게 비즈니스 모델(BM)의 중요성을 깨달은 프로젝트입니다.

  • 수익 모델 분석: 업체당 기대할 수 있는 유지보수 비용과 개발 공수 대비 수익성을 분석했을 때, 지속 가능한 사업화가 어렵다는 결론을 얻었습니다.
  • 시장 선검증의 필요성: 개발 착수 전 사업성과 시장성을 먼저 확보해야 한다는 실무적인 교훈을 얻었습니다.

소프트웨어 가변성 수용

소프트웨어는 끊임없이 변한다는 사실을 인지하게 되었습니다. 변화에 유연하게 대응할 수 있는 설계가 곧 좋은 소프트웨어라는 가치관을 정립하는 계기가 되었습니다.


[본 프로젝트는 현재 서버가 종료되어 실행 화면 기록으로만 관리되고 있습니다.]