慶應生向け教科書売買アプリ

https://github.com/Shundai0110/webproFinalApp

TypeScript

CSS

JavaScript

Node.js

HTML

大学の教科書を売り買いできるアプリのデモ版です。

Susshii

推しアイデア

学生専用なので、同じ学部や学科、学年で関連度に応じて自動的に教科書をピックアップ

作った背景

他のサービスでは、授業ごとに教科書を探すのは大変。年度の周期によって変わるから大変。だから、大学専用で作ろう!

推し技術

学部や学年で検索ができること。自分の関係度によって並び替えされること。

プロジェクト詳細

対象構成: HTML / CSS / JavaScript / Node.js / Express / 一時SQLite / Render.com


  • デモユーザーまたは仮想セッションによる利用開始
  • 実在する連絡先を使わないデモアカウント追加(初期残高5,000ポイント)
  • 教科書の出品
  • 教科書の一覧表示・検索
  • 教科書詳細表示
  • 購入リクエスト
  • 購入者・出品者の双方承諾による取引成立
  • 仮想ポイント残高の表示
  • 仮想ポイントによる支払い風UI
  • 教科書詳細の簡易コメント
  • コメント・取引成立の画面内デモ通知

3. 採用技術

区分技術用途
フロントエンドHTML / CSS / JavaScript画面表示、検索、フォーム、API呼び出し
APIクライアントFetch APIExpress REST APIへの同一オリジン通信
スタイリングCSS画面デザイン
バックエンド実行環境Node.jsサーバーサイドJavaScript/TypeScript実行環境
バックエンドフレームワークExpressREST APIの実装
公開用データベースNode.js node:sqlite / SQLite :memory:User / Book / Transaction / Comment / Notificationの一時共有とトランザクション制御
任意のローカル永続DBPrisma / MySQL明示承諾後のmigration・seed・永続化検証だけに使用
デプロイRender.com Free Web ServicefrontendとAPIを単一サービスで配信。Persistent Diskは使用しない
バージョン管理Git / GitHubソースコード管理
パッケージ管理npm依存関係管理

4. 3層構造

役割使用技術主な責務
プレゼンテーション層ユーザーとの入出力HTML / CSS / JavaScript検索画面、出品フォーム、購入・承諾ボタン、プロフィール、ポイント残高表示
アプリケーション層業務処理・API提供Node.js / Express / TypeScript認証・認可、出品、検索、購入リクエスト、双方承諾、状態更新
データ層デモ実行中だけの共有データSQLite :memory:User / Book / Transaction / Comment / Notificationの制約・検索・原子的更新

Susshii

@a479d9b67c4dfc79