個人開発Webアプリ 「IT育成カリキュラム(仮)」
## 参照 https://note.com/npower_creative/n/n48dc5182423b ## プロジェクト概要 以前所属していたITエンジニア主体のオンラインサロンにて「プログラミング初級者〜中級者へのレベルアップ環境が充実していない」という課題感が話題に上がっており、その解消を自分の見解で具現化すべく立案しました。 ITエンジニア向けの開発ポートフォリオや情報共有するためのプラットフォーム、SNS機能を持ったSaaSをイメージしています。 これまでの実務はフロントエンドが主でしたが、本プロジェクトではインフラなど他分野の技術選定や実装も現状一人称で行っています。 アイデアベースだけでなくトライアンドエラーも兼ねて実践することで実際に明確化できた要素は多く、chatGPTなど有効活用できるAIツールも出てきたため、これまでの課題を解消しつつ納得できる着地点を見極めながら続けたいと思います。 他活動とのバランスもありPENDしていた時期もありますが、 開発開始時からの技術スタックやトレンドの変動も考慮し、直近ではVue + FirebaseベースからReact + Python(Django)ベースへのリプレイスを行っています。 ## 開発・実装内容 【どのような機能の開発・実装か】 - フロントエンド:React、Redux - バックエンド:Python、Django / Django REST Framework - デザイン:Material UI(MUI) 上記スタックを基本構成としています。 ログイン認証を初めとしたAPIデータ環境はPython / Djangoをベースとした構成に実装を進めています。 【課題・問題点】 以前の実装途中、選定SaaS(Firestore)において検索機能の実装がデフォルトでは難しく、外部プラグインでの有料コスト運用が必要ということが判明しました。 その他DBの開発環境としてAWSやGraphQLを候補としており、ネックとなっている ・CRUD機能 ・個人で運用可能なコストパフォーマンス などの条件をクリアできる環境での実装を再検討しました。 Python / Djangoをベースとした構成へのリファクタリングでは順調に実装を進められている感触です。 【工夫したこと】 本プロジェクトまでに経験したフロント以外の言語・フレームワークを駆使することを意識した他、個人開発ということで極力コストパフォーマンスを抑えることを前提としました。 まずは成果物をと考え、API環境をローカルで参照できる構成での実装を進めています。 サービス自体の成長度や中長期的な運用も考え、今後AWSやGraphQLなどモダンな技術領域へのリファクタリングも検討要素としています。 【打ち手・使用した技術】 - 言語・フレームワーク - html5、scss、JavaScript / Typescript - React / Redux - Python / Django / Django REST Framework - ツール - Git、GitHub、npm ## 補足事項 ### 過去の実装内容 【どのような機能の開発・実装か】 - DB・インフラ:Firebase、Firestore - フロントエンド:Vue、Nuxt - デザイン:Storybook、tailwindCSS 【打ち手・使用した技術】 - 言語・CMS - html5、scss、JavaScript / Typescript - Vue.js / NuxtJS - ツール - Git、GitHub、npm - Vue CLI - ESLint / Prettier - Firebase Authentication、Firestore - Hasura Cloud - Heroku ログイン認証にはFirebase Authenticationを採用しました。(初回フェーズでの環境のため、次回変更の可能性があります) バックエンドでCRUD機能の橋渡しをすることも検討していましたが、実装する中でNuxtベースのみでも開発可能という見通しが立ったことから画面側を中心に開発を進めました。 またプロトタイプとしてですがHerokuにてデプロイも経験しています。