TODOリストを管理するWebアプリケーション。
- プログラミング言語:Python
- Framework:Flask
- データベース:SQLite(SQLAlchemyツール利用)
- コンテナ:Docker
- 可読性
- modelsやauthをモジュール化することにより、コードを分割してコードの冗長化を防止した
- 変数名や関数名は規則性および何を表しているかをわかることを意識した
- 使える機能を実装すること
- 他のユーザが実際に使ってもらえるような機能を設けること(ユーザごとにTODOの管理可能、優先度/ステータスカラム、エラーハンドリングなど)
- ユーザごとにTODOを管理可能
- user_idを利用しユーザごとに独立したTODO管理を可能とした
- 認証機能を実装することによって、セキュアにユーザがTODO管理をできるようにした
- エラーハンドリングの工夫
- 例外処理try-exceptを利用し、データベース操作や認証エラーなどを適切に処理できるように意識した
- 503や401エラーなど、状況に応じたレスポンスを実装
- 学習コスト
- 業務でPythonやFlaskを利用していたことから、本技術を活用した。
- シンプルさ
- PythonやFlaskは可読性が高いかつシンプルな構成の上、本課題の要件を満たすための十分な機能を有していたため
- 挑戦
- ウェブアプリケーション開発ではMongoDBなどのNoSQLを利用したことがあったが、RDBでの開発に挑戦したかったため、SQLiteを採用した
- Dockerは資格試験の学習時や業務の維持管理業務で触ったことがあったが、今回のように自分で開発したアプリケーションをコンテナ上で起動させることはしたことがなく、試してみたかったため