Skip to content

Commit d1fea40

Browse files
authored
Merge pull request #54 from kc3hack/taiseiue/wrote-readme
READMEかいた
2 parents 1df73d4 + 1ab861a commit d1fea40

2 files changed

Lines changed: 75 additions & 15 deletions

File tree

README.md

Lines changed: 75 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,56 @@
1-
# プロダクト名
2-
<!-- プロダクト名に変更してください -->
1+
# Directファイル便
32

4-
![プロダクト名](https://kc3.me/cms/wp-content/uploads/2026/02/444e7120d5cdd74aa75f7a94bf8821a5-scaled.png)
5-
<!-- プロダクト名・イメージ画像を差し変えてください -->
3+
<p align="center">
4+
<a href="https://direct.yaken.org/">
5+
<img src="./docs/hero.png" height="245">
6+
</a>
7+
</p>
68

79

810
## チーム名
9-
チーム○ XXXX
10-
<!-- チームIDとチーム名を入力してください -->
11-
11+
チーム21 Yaken'
1212

1313
## 背景・課題・解決されること
14+
私達が本当に欲しかったものは、安い・速い・旨いファイル共有方法でした。
15+
16+
- **安い**: できる限り安価で(できれば無料で)運営でき、広告なども表示しなくてよい
17+
- **速い**: できる限り速くファイルを送信できる
18+
- **旨い**: 便利で相手が誰でも使いやすい
19+
20+
既存のサービスには、それぞれ強みがあるものの、以下のような不満がありました。
21+
22+
### ギガファイル便
23+
- 一度サーバーにファイルをアップロードする必要がある
24+
- ゆえに、機密ファイルを「第三者のサーバーに保存する」リスクがある
25+
- アップロードの時間とダウンロードの時間が両方かかってしまう
1426

15-
<!-- テーマ「関西をいい感じに」に対して、考案するプロダクトがどういった(Why)背景から思いついたのか、どのよう(What)な課題があり、どのよう(How)に解決するのかを入力してください -->
27+
### AirDrop
28+
- サーバーを経由せず安全に使えるが、Apple端末間でしか使用できない
29+
- 類似技術でも、アプリをインストールしないと使えない
30+
- 共有したい相手が近くにいないと使えない
1631

1732

1833
## プロダクト説明
1934

20-
<!-- 開発したプロダクトの説明を入力してください -->
35+
Directファイル便は、ブラウザだけで利用できるP2P型ファイル転送サービスです。
36+
データをサーバーに保存せず、ユーザー同士が直接通信することで、安全かつ高速にファイルを送受信できます。
37+
38+
アプリのインストールやアカウント登録は不要。
39+
QRコードを読み取るか、コードを入力するだけで即座に接続し、ダウンロードが開始されます。
40+
41+
### 高い機密性
42+
ファイルデータはサーバーにアップロードされません。
43+
サーバーは接続の仲介のみを行い、実際のデータは送信者から受信者へ直接転送されます。
44+
また、ファイルの送信経路はDTLSによってエンドツーエンドで暗号化されるため安心です。
45+
46+
### 高速性
47+
従来のファイル転送サービスは、一度ファイルをサーバーにアップロードしてから受信者がダウンロードするという方式でした。
48+
49+
Directファイル便はユーザー間で直接ファイルをやりとりするため、送信者側のアップロード完了を待たずにダウンロードを開始できます。
2150

51+
### 互換性
52+
Directファイル便はブラウザ上で動作するため、追加のアプリをインストールせずに使えます。
53+
また、Windows / macOS / Linux / iOS / Androidなど幅広い端末で使用できます。
2254

2355
## 操作説明・デモ動画
2456
[デモ動画はこちら](https://www.youtube.com/watch?v=fbzGp0XJGq8)
@@ -29,17 +61,45 @@
2961

3062
<!-- 開発したプロダクトの中で、特に注力して作成した箇所・ポイントについて入力してください -->
3163
### アイデア面
64+
最大のこだわりは、データをサーバーに残さない設計です。
65+
66+
多くのファイル共有サービスは利便性を優先する一方で、
67+
「一度サーバーに保存される」という構造的リスクがあります。
68+
また、サービス提供者にとってもサーバーの維持費用がかさんでしまうという問題点があります。
69+
70+
Directファイル便は、サーバーは接続の仲介のみを行い、実際のファイルは常に端末同士が直接やりとりします。
71+
72+
これは、単なる技術選択ではなく、「安心して送れる」ことを最優先にしたプロダクト思想です。
73+
74+
また、Directファイル便の開発にあたって、便利さよりも「迷わない」ことを重視しました。余分な機能を減らし、ファイルを送信するために必要な機能のみに絞りこむことで、真の使いやすさを目指しました。
75+
76+
- アカウントの登録不要
77+
- アプリのインストール不要
78+
- QRコードを読みとるだけで接続
3279

3380
### デザイン面
81+
デザイン面では、「シンプルさ」と「愛着のわくユーザー体験」の両立にこだわりました。デザイン言語を作成し、コンポーネント化を進めることで操作の流れを感じやすくしました。また、マウスの動きに連動する視線追従やクリック時のリアクションといった遊び心のあるキャラクター演出を実装することで、生命感と親しみやすさを生み出しました。
3482

3583
### その他
84+
#### セキュリティ
85+
ファイルの共有に使用する6桁のコードは、暗号学的に安全な関数を使用して生成し、生存期間を短く保つことで安全に運用しています。
3686

37-
## 使用技術
87+
また、ファイルが送信される経路はDTLSで暗号化することで、相手が受信するまで一度も平文にならない(エンドツーエンド)ようにしています。
3888

39-
<!-- 使用技術を入力してください -->
89+
#### 接続性
90+
ファイルは、内部でWebRTCを使って送信しています。
91+
WebRTCの伝送方式にはSTUNとTURNの2種類があります。
92+
STUNは端末同士を直接接続する方法です。通常の場合はこちらを使用します。
93+
しかし、学内LANや職場など、セキュリティの都合からこの方法が使用できない場合はTURNと呼ばれる仲介サーバーを介して接続します。
4094

95+
一般に、STUNはTURNよりも高速です。そこで、STUNとTRUNのどちらを使用すべきかを判断し、どのような環境でも接続できるように実装しました。
4196

42-
<!--
43-
markdownの記法はこちらを参照してください!
44-
https://docs.github.com/ja/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
45-
-->
97+
もちろん、TURNサーバーを通過中も暗号化は保たれます。
98+
99+
## 使用技術
100+
- Cloudflare Workers
101+
- Cloudflare Workers KV
102+
- Cloudflare Workers DurableObject
103+
- Cloudflare RealtimeKit
104+
- Hono
105+
- pnpm

docs/hero.png

194 KB
Loading

0 commit comments

Comments
 (0)