그동안 저는 사내의 수백 대가 넘는 PC와 장비들을 엑셀(Excel) 하나로 관리해 왔습니다.
물론 엑셀은 인류가 만든 가장 위대한 도구 중 하나입니다. 하지만 데이터가 쌓이고 관리해야 할 자산이 늘어나면서 그 한계점은 너무나 명확하게 다가왔습니다.
"김 대리, 그 엑셀 파일 최신 버전 어디 있어?" "이 자산, 분명 지난달에 폐기했다고 했는데 왜 장부에는 살아있지?"

매번 반복되는 파일 공유의 비효율, 버전 관리 실패, 그리고 데이터 무결성이 깨지는 현상. 이 지긋지긋한 '엑셀 지옥'에서 벗어나기 위해, 결국 "내가 직접 웹으로 만들어서 쓴다!"라는 결심을 하게 되었습니다.(어차피 고생할 것 한번만 고생하자!!)
오늘부터 시작되는 이 시리즈는, 레거시(Legacy) 환경에서 벗어나 FastAPI 기반의 자체 웹 자산관리 시스템을 구축해 나가는 저의 치열한 개발 일지입니다.
1. 왜 편한 엑셀을 두고, 굳이 개발을 하는가? (Problem)
가장 큰 이유는 '데이터의 신뢰성'과 '접근성' 때문입니다.
① 엑셀(Excel)의 한계: 동기화 불가 엑셀은 개인이 소장하는 파일일 뿐입니다. 누군가 파일을 열고 수정하는 동안 다른 사람은 읽기 전용으로만 봐야 하고, 파일이 메일로 오가는 순간 '어떤 게 진짜 최신 파일인지' 알 수 없게 됩니다.
② 파워빌더(PowerBuilder/CS)의 한계: 배포의 악몽 현재 저희 회사는 파워빌더를 이용한 CS(Client-Server) 환경의 사내 시스템을 쓰고 있습니다. 하지만 CS 프로그램은 모든 사용자 PC에 일일이 프로그램을 설치해야 하고, 업데이트가 있을 때마다 재배포를 해야 하는 번거로움이 큽니다.

그래서 저는 "URL만 있으면 어디서든(PC, 모바일, 태블릿) 접속해서 최신 데이터를 볼 수 있는" 웹(Web) 환경이 절실히 필요했습니다.
2. 프로젝트 목표: "심플하지만 강력하게"
거창한 ERP를 만들려는 게 아닙니다. 이 프로젝트의 핵심 목표는 '접근성'과 '실시간성'입니다.
- 웹 기반(Web-based): 별도 설치 없이 브라우저로 접속 (접근성 해결).
- 실시간 공유(Real-time): 누가 수정하든 DB에 즉시 반영되어 모두가 최신 상태 공유.
- 이력 관리(History): 자산의 이동, 수리, 폐기 내역을 DB에 기록하여 추적 가능하게 함.
- CRUD 구현: 가장 기본이 되는 생성(Create), 조회(Read), 수정(Update), 삭제(Delete) 기능 완벽 구현.
3. 기술 스택 (Tech Stack) : FastAPI & Oracle 🛠️
이번 프로젝트는 저에게 있어 기존 CS(파워빌더) 개발자에서 웹 개발자로 영역을 확장하는 도전이기도 합니다. 그래서 가볍고 현대적인 스택을 선정했습니다.

| 구분 | 기술 스택 | 선정 이유 |
| Backend | Python + FastAPI | 최근 가장 핫한 프레임워크. 코드가 간결하고 Swagger(API 문서)가 자동 생성되어 개발 효율이 압도적임. |
| Database | Oracle DB | 기존 사내 시스템과의 연동성을 고려해 익숙하고 안정적인 오라클을 선택. (SQL 활용 극대화) |
| Frontend | HTML / JS (Vanilla) | 프레임워크(React, Vue)를 쓰기 전, 웹의 기초 동작 원리를 익히기 위해 순수 자바스크립트로 구현. |
| Infra | VMware (Linux) | 로컬 PC가 아닌 사내 서버에 가상머신(VM)을 띄워 실제 서버 환경처럼 구축. |
4. 앞으로의 로드맵 (Roadmap)
이 프로젝트는 단순히 남는 시간을 쪼개서 하는 토이 프로젝트가 아닙니다. 낙후된 사내 자산 관리 프로세스를 '디지털 전환(DT)' 하는 업무이자, 저의 기술 스택을 모던하게 업그레이드하는 과정입니다.
앞으로 블로그를 통해 아래 과정들을 상세히 기록할 예정입니다.
- #1. 프롤로그: 왜 웹으로 가는가? (현재 글)
- #2. 환경 구축: 사내 VMware에 윈도우 서버 띄우기 & 네트워크 설정
- #3. DB 설계: 오라클 테이블 설계 및 더미 데이터 생성
- #4. 백엔드 개발: FastAPI 설치 및 Hello World 띄우기
- #5. 프론트 연동: 비동기(Fetch/Axios) 통신으로 데이터 주고받기
5. 마치며
"불편함은 발명의 어머니"라고 하죠.
매일 반복되는 엑셀 복사/붙여넣기에 지치셨다면, 혹은 저처럼 CS 환경(WinForm, 파워빌더 등)에 머물러 있다가 웹으로 넘어가고 싶은 개발자분들이 계신다면 이 시리즈가 작은 도움이 되길 바랍니다.
다음 포스팅에서는 본격적인 개발의 첫 단추, [VMware를 활용한 가상 개발 서버 구축] 편으로 돌아오겠습니다.
[함께 읽어볼만한 글]
2025.11.27 - [IT & TECH/개발기록] - [프로젝트] PC 자산관리 개발기 #2 : 사내 VMware 서버에 개발용 가상머신(VM) 만들기 & 네트워크 설정
[프로젝트] PC 자산관리 개발기 #2 : 사내 VMware 서버에 개발용 가상머신(VM) 만들기 & 네트워크 설정
지난 프롤로그에서 엑셀과 파워빌더의 한계를 넘어 '웹(Web) 기반 자산관리 시스템'을 만들기로 선언했습니다.오늘은 본격적인 코딩에 앞서, 제 코드가 돌아갈 '집(Server)'을 짓는 과정입니다.제
codenplay.tistory.com
2025.12.03 - [IT & TECH/개발기록] - [프로젝트] 사내 PC 자산관리 프로그램 개발기 #3 : 왜 FastAPI인가? & 파이썬 가상환경 구축 완벽 가이드
[프로젝트] 사내 PC 자산관리 프로그램 개발기 #3 : 왜 FastAPI인가? & 파이썬 가상환경 구축 완벽 가
1. 지난 이야기 & 시작하며지난 시간까지 VMware에 윈도우 서버를 올리고, 원격 데스크톱(RDP) 포트까지 열었습니다. (이제 서버 준비는 끝났네요!)이제 본격적으로 엑셀을 대체할 'PC 자산관리 시스
codenplay.tistory.com