0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初心者エンジニアがC#でToDoアプリを作ってみる

Last updated at Posted at 2024-11-11

※随時更新中です。

自己紹介

駆け出しエンジニア。
前社はハズレSESでエンジニアとしての経験が積めずに今は2社目。
エンジニアとして経験を積めるようにアピールする材料として学習記録の記事を書いていきます。

概要

C#を使ってToDoアプリを作る。
簡単でもいいので実務想定で作っていく。
ChatGPTに頼りまくる。

流れ

  1. 環境構築
  2. プロジェクトの作成
  3. 要件定義
  4. 設計
  5. 構築
  6. テスト
  7. Gitの使用
  8. Dockerの使用
  9. デプロイと改善

環境構築

  1. .NET SDK のインストール
  2. VScodeのインストール
  3. Gitのインストール
  4. Dockerのインストール

プロジェクトのファイル構成

dotnet new webapi -n ToDoApp
WEB APIプロジェクトの作成

cd ToDoApp
プロジェクトに移動する

プロジェクト構成↓
ToDoApp/
├── Controllers/
│ └── ToDoController.cs # APIエンドポイント
├── Models/
│ └── ToDoItem.cs # ToDoアイテムのデータ構造
├── Repositories/
│ └── IToDoRepository.cs # リポジトリインターフェース
│ └── ToDoRepository.cs # データ操作のロジック
├── Services/
│ └── ToDoService.cs # ビジネスロジック
├── Dockerfile # Dockerの設定ファイル
├── docker-compose.yml # Docker Compose設定
├── Program.cs # アプリケーションのエントリーポイント
└── Startup.cs # アプリケーション設定

要件定義

機能一覧:
1. ToDoアイテムの追加: ユーザーが新しいタスクを追加できる。
2. ToDoアイテムの一覧表示: すべてのタスクを表示できる。
3. ToDoアイテムの編集: タスクの内容や完了状態を更新できる。
4. ToDoアイテムの削除: 不要なタスクを削除できる。
5. 状態の更新: タスクが完了済みか未完了かを設定できる。

基本的な仕様:
• データの保持方法: 初期はインメモリ(後でデータベースに変更)
• APIエンドポイント:
• POST /api/todo(新規追加)
• GET /api/todo(一覧表示)
• PUT /api/todo/{id}(更新)
• DELETE /api/todo/{id}(削除)

設計

モデルの設計

・ToDoItem.csをModelsフォルダに作成し、ToDoアイテムの構造を定義します。

public class ToDoItem
{
   public int Id { get; set; }
   public string Title { get; set; }
   public bool IsComplete { get; set; }
}

リポジトリパターンの設計

・IToDoRepository.cs: リポジトリのインターフェースを作成し、CRUDメソッドのインターフェースを定義します。
・ToDoRepository.cs: リポジトリ実装クラスを作成し、メモリ内でのデータ管理を行います。

サービスの設計

・ToDoService.cs: ビジネスロジック(タスク管理)をサービスクラスに分離します。

コントローラの設計

・ToDoController.cs: Controllersフォルダに作成し、APIエンドポイントとリクエスト処理を定義します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?