2018/12/23
Yoki(@enyyokii)と申します。
渋谷のIT企業でアプリエンジニアしている25才です。
仕事では iOS、Android、Webフロントエンドなど色々しており、週末は勉強を兼ねて個人開発したりしています。
今回は大好きなFirebaseを使ってWebアプリを作成してみました。
自分のスキルセットを画像化してTweetできるWebアプリです🙂
みたいな時に使っていただけると幸いです😆
こんなツイートが作成できます👇
使った技術としては「Vue.js」と「Firebase」だけです💡
Firestore
Cloud Functions
exports.returnWithOGP = functions.https.onRequest((req, res) => {
res.set('Cache-Control', 'public, max-age=300, s-maxage=600')
const path = req.params[0].split('/')
const id = path[path.length -1]
fs.readFile('index.html', 'utf8', (error, templateHtml) => {
if (error) { res.status(500).send(error) }
const filePath = `skillImages/${id}.jpg`
const bucket = admin.storage().bucket()
const file = bucket.file(filePath)
const config = {
action: 'read',
expires: '03-01-2500',
}
file.getSignedUrl(config).then(urls => {
const signedUrl = urls[0]
const responseHtml = templateHtml.replace(/(<meta property=og:image content=)(.*?)>/, "$1" + signedUrl + '>')
return res.status(200).send(responseHtml)
}).catch(error => {
console.log(error)
return res.status(404).send(templateHtml)
})
})
});
Firebaseでデプロイ
firebase deploy
ですぐデプロイできます。Firebaseいいですね!
バックエンドやインフラを意識することなく、アプリケーションの開発に注力できます👍
ただ、開発は思ったより時間がかかってしまった感があります。
を考慮すると、「ある程度のもの」ができる段階をいかに早く作れるかが大事だと思っています。
そのために、
これをできるだけ明確に決めておく必要があると思っています。
今回の場合、雰囲気レベルでしか決まっていなかったのでずるずると伸びてしまって気がします。
あと、目標設定やモチベーションの維持のための工夫は大事ですね。
そこら辺は科学的に効果的なものがあるのでそれらを実践していきたいです。
👇👇👇
開発を支える科学的な目標設定の仕方とモチベーションの持続について
「若手エンジニアがFirebase(FireStore + Cloud Functions + FireStorage) + Vue.jsでシンプルなWebアプリをつくってみた」を作った話でした。
ここまで読んでくださりありがとうございます🙇♂️
Twitterカードをタップ時の個別詳細ページを作ったり、ランキングをだしたり
とかできればいいなあ、なんて思っています。
Skill App、少しでも興味を持たれましたらアクセスしていただけると幸いです。