Skip to content

yukito-takeuchi/next-port4-backend-django

Repository files navigation

Wantedly 長期インターン管理アプリ

デモ動画

URL

https://next-port5-frontend-page-router-jbzh.vercel.app/

面接官向け テスト方法 (簡易版)

無料トライアルを開始するボタンからダッシュボードへ移動します。  

1. スクレイピング機能

2. 応募企業管理(CRUD機能)

  • 企業情報を登録、編集、削除できるか確認
  • 必須項目が正しく機能しているか確認

3. 選考結果分析

  • 選考結果を複数登録し、グラフで表示されるか確認
  • グラフの表示が登録したデータと一致しているか確認

4. レスポンシブデザイン

  • PCとスマホで表示し、レイアウトが崩れないか確認
  • 画面サイズを変更し、レイアウトが適切に調整されるか確認

5. APIテスト

  • Postmanでスクレイピング、企業情報関連のAPIが動作するか確認
  • APIのレスポンスが期待通りのデータ形式であることを確認

6. エラーハンドリング

  • 無効なURLや不正なデータを入力し、エラーメッセージが適切に表示されるか確認

概要

Wantedlyで見つけた長期インターンシップの選考プロセスを効率的に管理するWebアプリケーションです。求人情報のスクレイピング、応募企業管理、選考結果分析など、インターンシップ探しを包括的にサポートします。

目的

  • Wantedly求人情報の一元管理による効率的なインターンシップ探し
  • 応募企業の選考状況や面接メモ記録による選考結果分析
  • 地域ごとの応募状況可視化による戦略的な応募サポート

ターゲットユーザー

  • エンジニア長期インターンシップを探す大学生
  • 効率的なインターンシップ選考プロセス管理を求める方
  • データ分析に基づいた戦略的なインターンシップ探しをしたい方

主な機能

  • 求人情報スクレイピング:
    • Wantedly求人情報の定期スクレイピングとデータベース保存
    • スクレイピング結果のテーブル表示と分析
    • 日ごとの求人数グラフ表示
  • 応募企業管理 (CRUD):
    • 応募企業情報のCRUD操作
    • 選考結果、面接メモ、地域情報記録
  • 選考結果分析:
    • 選考結果の可視化と不採用原因分析
    • 地域ごとの応募企業管理
  • レスポンシブデザイン:
    • PC、タブレット、スマートフォン対応

技術スタック

  • フロントエンド: Next.js (TypeScript), Tailwind CSS, shadcn-ui
  • バックエンド: Django REST Framework (Python)
  • データベース: SQLite (開発環境), PostgreSQL (本番環境)
  • APIテスト: Postman
  • デプロイ: Render, Vercel
  • その他: Git, GitHub, Docker
  • スクレイピング: Beautiful Soup, requests
  • グラフ作成: chart.js, react-chartjs-2

開発背景

エンジニア長期インターンシップ選考の競争激化と、選考結果記録・分析の重要性から、地域ごとの応募企業管理の煩雑さ、Wantedly求人情報分析の手間を解消するために開発。

工夫した点

  • スクレイピング機能:
    • 定期スクレイピングによる最新求人情報取得
    • 求人数推移グラフ表示による市場動向可視化
  • 応募企業管理:
    • CRUD操作による柔軟な情報管理
    • 面接メモや選考結果記録による分析容易化
  • UI/UX:
    • Tailwind CSSとshadcn-uiによるモダンなUI
    • 直感的な操作を可能にするシンプルなデザイン
    • レスポンシブデザインによる快適な操作性
  • データ処理:
    • スクレイピングデータの効率的なデータベース保存
    • pandasによるデータ分析
    • chart.jsによる視覚的なデータ表示
  • セキュリティ:
    • 入力データのサニタイズによるXSS攻撃防御
    • APIアクセス制御による不正アクセス防御
  • パフォーマンス:
    • データベースインデックス最適化による検索速度向上
    • 画像遅延読み込みによる初期表示速度向上
    • APIレスポンスキャッシュによるサーバー負荷軽減
  • テスト:
    • ユニットテスト、結合テスト、E2Eテストによる品質確保
    • PostmanによるAPIエンドポイントテスト

苦労した点

  • スクレイピングの安定性確保
  • レスポンシブデザインの実装
  • 大量求人情報の効率的なデータベース設計

今後の展望

  • 求人情報のフィルタリング・検索機能強化
  • 応募企業情報の分析機能追加 (選考通過率、応募傾向など)
  • 他サイト求人情報スクレイピング対応
  • ユーザー認証機能追加
  • 応募企業とのチャット機能
  • AIによる応募書類添削機能

開発者の学び

  • Webスクレイピング技術
  • RESTful API設計
  • データベース設計
  • フロントエンド開発 (Next.js, TypeScript, Tailwind CSS, shadcn-ui)
  • バックエンド開発 (Django REST Framework)
  • データ分析と可視化
  • レスポンシブデザイン
  • テストとデバッグ
  • プロジェクト管理

動作確認方法

  1. リポジトリをクローン
  2. フロントエンドとバックエンドそれぞれの環境構築手順に従って環境構築
  3. フロントエンドとバックエンドを起動
  4. ブラウザでフロントエンドにアクセス
  5. PostmanでAPIエンドポイントをテスト

備考

  • 詳細な環境構築手順や動作確認方法はリポジトリ内のREADME.mdを参照
  • 本プロジェクトは個人開発であり商用利用は想定していません

作者

竹内悠人

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published