Week1 - Set up; Django, Postgresql, Github, Docker
Django (Python based)
For this solo project, my primary focus was on development velocity. I opted for Django's MTV framework over a decoupled REST API + React setup to streamline the workflow and reduce environment management overhead. This monolithic approach serves as a perfect MVP, with a clear roadmap to refactor into a REST API architecture as the application scales.
Postgresql
To maximize efficiency as a solo developer, I adopted the Django MTV pattern, leveraging its seamless integration with PostgreSQL for optimal database performance. This allowed me to avoid the overhead of managing separate Django and React environments initially, with a plan to transition to a REST API architecture as the project scales.
Github
To facilitate continuous learning and development at home, I forked the main repository from the organization account to my personal account and configured myself as a contributor.
Docker
Containerized the application and PostgreSQL database into multi-container environments using Docker, ensuring consistent development setups across different OS platforms (Windows office desktop and personal macOS laptop) while establishing a production-ready architecture for future server deployment.
Models
Guide
GuideReport
EventCode
Pages
Account
The administrative account is initialized via the Django CLI (python manage.py createsuperuser), through which the admin provision designated accounts for general users. Upon their first login, users without an existing profile are automatically redirected to an onboarding page to complete their profile setup.
Login (admin vs general user)
(admin) Admin Page
(admin) Guide List
(admin) Guide detail
(general user) Mypage
(general user) Guide Report create step1
(general user) Guide Report create step2
(general user) Guide Report detail
Implemented an automated billing engine that dynamically calculates guide fees based on multiple parameters, including the guide's grade, operating shift (Day/Inbound), and assigned role (e.g., 12-seat, 21-seat, 53-seat vehicles, or Guide-Only).
TODO (until next week)
Complete the architecture and design for all required models.
Implement full CRUD functionalities properly across every model.