fe-riki05 / TimeOverGrow-new

未経験からエンジニア転職する為の自己管理アプリです🔥
https://timeovergrow-d76f5.web.app
0 stars 0 forks source link

TIMEOVERGROW

アプリ概要

転職活動用のポートフォリオとして開発した個人アプリです。未経験からエンジニア転職を目指す方をターゲットにしており、チャート図やGitHubで使われているヒートマップ図を導入することでプログラミング学習の自己管理ができます。「TIMEOVERGROW」は、学習に時間を費やせば費やすほどエンジニアとして成長できるといった想いを込めて名付けました。

本番環境

https://timeovergrow-d76f5.web.app/

テストログインが可能です。

このアプリを開発した背景

「エンジニアを目指しているけれど、モチベーションが続かなく、挫折をしてしまいそうな人に、学習する習慣を提供したい」という想いでこのアプリを開発しました。

私自身完全未経験からエンジニアを目指して転職活動中ですが、TwitterなどのSNSで日々情報収集をしていると、エンジニア転職を諦める内容のものを何度も見かけました。私の場合、エンジニアを諦めようとは思いませんでしたが、モチベーションが下がることはあり、その日はどうしても学習の進捗が思う様にいきませんでした。

私なりにモチベーションが下がってしまう原因を考え抜いた結果、自分の現状を把握できていない為、行動に迷いが生じているという1つの結論に至りました。では、自分の現状を把握する方法についてですが、これも私なりの考えがあり、それはつまり言語化することで現状の把握ができると考えています。

日々の学習内容を言語化することで、今の現状が整理され、次に何をするべきか明確になります。

私自身試した結果、数日前と比較をすることで成長をより実感しやすくなり、モチベーションを保ちやすくなりました! また、合計学習時間とタグ毎の合計学習時間を時間軸の棒グラフで確認でき、ヒートマップ図では学習の継続の確認ができるので、日々の学習の管理はこのアプリ1つでできます。

ですので、エンジニアを目指しているけれど、モチベーションが続かなく、挫折をしてしまいそうな人に、是非このアプリを通して学習する習慣を提供できたら、と思います。

実際のアプリの動画

ezgif com-gif-maker

工夫した部分

Nuxt.jsを導入してSPA化することでUXを大幅に向上させたこと

通常webアプリでは、画面を遷移する度にページ全体をレンダリングしている為読み込みに時間がかかってしまいます。そこでSPA化することで変更が必要な部分のみをレンダリングするという形式をとり、滑らかな画面の遷移を実現しています。

UIにこだわったこと

特に見て欲しい点

苦労したこと

DB設計のやり直し

DBの参照について理解不足だった為、ユーザー毎の識別の実装をしておらずデータが共有されている状態でした。 デプロイ後にエンジニアの方からのレビューで誤りに気づくことができました。

この経験から、最初の段階でアプリの仕様をきちんと決め、それに基づいたDB設計をしなければ後々かなり面倒なことになることを学びました。 この経験を反面教師に、今後のアプリ開発に活かしたいと思います。

アプリのポイント

今後実装したい機能

使用技術等

バージョン

tool version
macOS 11.1
Docker 20.10.2
docker-compose 1.27.4
Nuxt.js 2.14.12
Vuetify 2.4.6
Firebase 8.2.4
vue-chart.js 3.5.1
vue-calendar-heatmap 0.8.4
ESLint 7.21.0
Prettier 2.2.1
Jest 26.6.3

機能一覧

機能詳細

ユーザー機能

リダイレクト機能

タグ付け機能

タグの編集・削除機能

アウトプット機能

合計学習時間の表示機能

タグ毎の合計学習時間を表示

毎日学習できるかチェック機能

毎日の学習量表示機能

テスト機能