はじめに
こんにちは@Ricky_と申します。
DIVE INTO CODEで4ヶ月間、未経験からプログラミングを学習いたしました。
この度卒業制作として、
「自分のアイデアから要件定義を行なってアプリケーション開発をする」
という経験をさせていただきました。
その際に作成した個人開発アプリ「.Eduka」が完成いたしましたのでご紹介させていただきます。
使用環境
- Ruby 3.0.1
- Ruby on Rails 6.1.7
- PostgreSQL 14.6
.Edukaとは?
由来
「エデューカ」と読みます。
Education(教育) × Eureka!(見つけた!)
「本当の教育を見つける」という意味を込めて「.Eduka」と名付けました。
先頭のドットは、メソッドのように便利に簡単に使えるようにという思いを込めてつけました。
開発の背景
皆さまはこのような経験はありませんか?
同じ仕事を教わるときに「先輩Aと先輩Bで仕事のやり方が全然違う。」
「私はどっちのやり方を覚えればいいの?」
教わる人は、1つの目的に対して最初から「何通りものプロセスを教わる」ことによって混乱し、
スキルの習得が遅くなるだけでなく、事故(人間関係のこじれや離職)にもつながってしまいます。
車の運転で例えると、後ろに乗っている二人が同時に
「右曲がって!」「左曲がって!」と言うようなものです。
このような状況は、私の前職の美容師に限らず、
「日々の業務の中で普遍的に起こり得る問題なのではないか?」
と思い、その問題を解決すべく「.Eduka」を開発いたしました。
主な機能
【全社員の教育内容の閲覧のシェアができる】
社員が「いつ」「誰に」「何を教わったのか」が教育内容に蓄積されていくので、それを全社員で閲覧のシェアができるようになっています。
こちらの機能により教育の「可視化」「共有」を実現しております。
【上司,部下の関係性を登録できる】
マイページで自分が担当する部下を設定できます。 部下を設定すると、その部下の教育ページで上司として表示されます。
こちらの機能により「上司と部下の関係性が可視化」されるようにしております。
【教育ジャンル -> 課題 -> 教育内容と深掘りできる】
こちらの機能により、「その社員にマッチした具体的な教育」ができるようになっております。
こだわった/苦労した実装
上司, 部下の関係性を,一つのUserモデルと中間テーブルで実装したこと。
1つのUserモデルに中間テーブルのrelationshipsを作成して、「同じuserの中で上司,部下に見立てた関係性の構築をする」という実装が複雑で苦労したポイントになります。
終わりに
最後までご覧いただき誠にありがとうございます。
4ヶ月前までほぼ全くプログラミングができなかったことを考えると、我ながら成長を感じております。
DIVE INTO CODEの皆さま、同期、先輩期、後輩期の皆さま、サポートいただいた皆さま本当にありがとうございました。
プログラミングの学習はとても楽しく感じておりまして、まだまだ今後も自分もアプリもブラッシュアップを継続していきます。
今後はバックエンド技術をメインに、フルスタックエンジニアとして幅広く価値を生み出せるエンジニアを目指していきたいと考えておりますので、目標に向かって日々努力していきます。