私はAIシステム開発学科1年生ゼーヤーピョーと申します。私が開発しているWebサイトについてご紹介していきます。
はじめに
KindredSpaceは、地域コミュニティ向けに設計されたシェアリングプラットフォームである。本プロジェクトの目的は、金銭を介さずに物品やスキルを「提供」と「依頼」という形で交換し、地域住民同士の絆を深めることにある
解決すべき課題
Kindred Spaceは着目した、3つの大きな課題が存在する。
第一に、まだ十分に使用できる物品が、譲渡先がないために廃棄されている現状がある。フリマアプリは存在するものの、金銭のやり取りや配送の手間が障壁となり、気軽に不用品を譲ることが難しい。
第二に、特に都市部において近隣関係の希薄化が進んでいる。隣人の顔を知らない住民が増え、地域における助け合いの文化が失われつつある。
第三に、経済的な理由から必要な物品を入手できない人々が存在する。新品を購入する余裕はないが、中古品であれば十分という需要がある。
独自の価値提案
KindredSpaceが提供する価値は、「あなたの”いらない”が、誰かの”ほしい”に。」というメッセージに集約される。
本サービスの差別化ポイントは 第一に,完全無料であること。金銭取引を排除することで、純粋な助け合いの場を実現する。共有とリクエストという投稿を開始します。チャット機能はC2C(個人間取引)。現在地に基づいた絞り込み機能です。ユーザーは受け渡し可能なアイテムから近い順番で表示します。位置情報フィルタリングにより、近隣住民同士の交流を促進する。ピアレビューによる信頼システムを備えていること。ユーザー間の評価により、安心して取引できる環境を構築する。
投稿タイプの選択(Core Logic)
まずユーザーが共有したいのかリクエストしたいのかを明確に選択してから投稿を開始します。
共有フォーム

リクエストフォーム

チャット機能
チャット機能はC2C(個人間取引)アプリの心臓部ですね。ここで信頼関係が築かれ、実際の受け渡しが決まります。
「日時」と「場所」をスムーズに決めるための、非公開チャットルームの開発ロードマップを整理しました。特にデータの持ち方(データベース設計)が重要になります。
ロジックと開発フロー
ユーザーが「問い合わせる」ボタンを押したときの挙動です。
- バックエンドで「このユーザー(
applicant_id)」と「この投稿(post_id)」の組み合わせですでにチャットルームが存在するか確認します。
- ある場合: そのチャットルームを開き、過去の履歴を表示します。
- ない場合: 新しいレコードを
ChatRoomsテーブルに作成し、空のチャット画面を開きます。


ピアレビュー

KindredSpace 技術環境まとめ
バックエンド
Django 5.2.6(Python 3.12)を使用したWebアプリケーションです。開発環境ではSQLiteデータベースを採用し、本番環境ではGunicornを使用してAutoscaleデプロイメントに対応しています。
フロントエンド
HTMLテンプレートにTailwind CSSを組み合わせたスタイリングを採用。動的なUI機能にはAlpine.jsを使用し、ヘッダーの自動非表示、位置情報フィルタリング、フォーム状態管理などを実現しています。画像カルーセルにはSwiper.jsを統合しています。
主要なPythonパッケージ
- Django 5.2.6(Webフレームワーク)
- Pillow 11.1.0(画像処理)
- beautifulsoup4 4.12.3(HTMLパース)
- requests 2.32.3(HTTPリクエスト)
- gunicorn 23.0.0(本番用WSGIサーバー)
外部API連携
- ZipCloud API: 日本の郵便番号検索
- Nominatim/OpenStreetMap: 位置情報のジオコーディング(無料、APIキー不要)
結論
KindredSpaceは、現代日本社会における「物の廃棄」「近隣関係の希薄化」「経済的困難」という3つの課題に対し、金銭を介さない地域密着型シェアリングという解決策を提供する。今後は、設定した主要指標の達成を目指しながら、ユーザーフィードバックを収集し、サービスの改善を継続していく予定である。


コメント