業務管理システム開発に使用するカリキュラムの一部を抜粋して公開しています!
1 概要
本システムの利用者はとある架空の株式会社の社員である
組織形態はフラットで勤怠管理をする管理者と管理をしない一般社員の2種類しか存在しない
本システムで解決される課題は次のとおりである
勤怠情報をデータとして保存することで実労働時間や休憩時間の計算や年休消化日数の把握が簡単になる
現状は出退勤時刻をタイムカードで打刻しているがそのままだとデータとして保存する際に面倒なため最初からデータとして記録したい
本システムはPCおよびスマートフォンで動作し、出退勤時刻の打刻と1ヶ月の勤務表として閲覧の機能が利用できる
2 全体アーキテクチャ
インターン用アカウントに構築する
本番環境を構築せず開発環境のみで実装からテストまで行う
Cloud9はAWSの統合開発環境(IDE)サービスであり、ここでリソースを共有しながら開発を行う
Cloud9が接続するEC2にはVite、FastAPI(uvicorn)、PostgreSQLをインストールする
Vite: フロントエンド開発のためのWebサーバ環境
FastAPI(uvicorn): PythonでAPIを実装するためのフレームワークでAPIサーバーはuvicornが担当する
接続はViteのプロキシを通じて行いCORSは設定しない
PostgreSQL: RDBMSでデータの永続化を行う
接続はAPIサーバーからのみ許可する
Cloud9のターミナルからSQLクライアントを利用した接続は可能とする