tag:crieit.net,2005:https://crieit.net/boards/web1week-202005/feed 「(5/18~5/24)1週間でWebサービスを作るイベント - お題「Like」」の投稿 - Crieit Crieitで「(5/18~5/24)1週間でWebサービスを作るイベント - お題「Like」」ボードに投稿された最近の投稿 2020-09-05T00:29:49+09:00 https://crieit.net/boards/web1week-202005/feed tag:crieit.net,2005:PublicArticle/Cats-like-the-fish 2020-09-05T00:29:49+09:00 2020-09-05T00:29:49+09:00 https://crieit.net/boards/web1week-202005/Cats-like-the-fish Cats like the fish♪ <p><a href="https://crieit.now.sh/upload_images/7a1d9de5aa88b734c10c90f7a2a25c735f525ce17c28e.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/7a1d9de5aa88b734c10c90f7a2a25c735f525ce17c28e.png?mw=700" alt="image" /></a><br /> JavaScriptで作ったゲームですにゃ。マスターマインドと逆シューティング(避けゲー)をくっつけたら、こうなりましたにゃ。実質3日で2つ作ると、この程度のレベルですにゃ。9月のイベントでは、もうちょっとマシなものを作りたいと思いますにゃ。<br /> ※ここのルールとか、まだよくわかってませんにゃ。だめっぽい感じだったら、申し訳にゃいんですけど管理人さん消しちゃってくださいにゃ。<br /> <a target="_blank" rel="nofollow noopener" href="http://bigchan.sakura.ne.jp/web1week/fish-1e.html">(IE版)</a><a target="_blank" rel="nofollow noopener" href="http://bigchan.sakura.ne.jp/web1week/fish-1c.html">(Chrome版)</a></p> びっぐにゃん tag:crieit.net,2005:PublicArticle/musico 2020-06-01T20:25:30+09:00 2020-06-01T20:25:30+09:00 https://crieit.net/boards/web1week-202005/musico 好きな楽曲について語り合うウェブサービス「musico」を作ってみました。 <p>はじめまして、promitsuと申します。</p> <p>前回のweb1weekを横目で羨ましく観ていて、今度は絶対参加してやる!と意気込んでいたのですが、家庭の色々やら体調不良やらで一晩ぐらい開発して、その後全く手を付けられずにいました(汗)</p> <p>昨日ぐらいから落ち着いたので、ガっと作って、勢いでドメインも取って公開してみました。</p> <p>お題は「Like」でしたので、好きな楽曲についてあーだこーだ語り合えるサービスを作ってみました。</p> <p>「musico | find track you like and talk about it」(何故か英語w)<br /> <a target="_blank" rel="nofollow noopener" href="https://musi-co.fun">https://musi-co.fun</a></p> <p><a href="https://crieit.now.sh/upload_images/37fa08bca64c8270839d2e5ced1beadb5ed4dcf58ae3d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/37fa08bca64c8270839d2e5ced1beadb5ed4dcf58ae3d.png?mw=700" alt="image" /></a></p> <p>フリーワードで楽曲を検索して、その楽曲にLikeやコメントをすることができます。</p> <h2>機能</h2> <h3>未ログイン時</h3> <ul> <li>楽曲を検索、またはコメントがある楽曲リストを閲覧できる</li> <li>楽曲のコメントページを閲覧できる</li> <li>楽曲のプレビュー再生ができる(ファイルがあるもののみ)</li> <li>Spotifyで楽曲を聞くことができる(別タブでウェブ版を表示)</li> </ul> <h3>ログイン時</h3> <p>上記に追加して、<br /> - 楽曲にコメントできる<br /> - 楽曲にLikeできる</p> <h2>使い方</h2> <p><a target="_blank" rel="nofollow noopener" href="https://video.twimg.com/ext_tw_video/1267396174270525440/pu/vid/1064x720/bGbMawWCHZyedRz-.mp4">操作動画</a></p> <h2>開発で大変だった点</h2> <p>開発1日目以降、全く作業をすることができず、期間中の公開にも間に合いませんでした(くやしい)</p> <h2>工夫した点</h2> <ul> <li>音楽系のサービスなのでカラースキームやデザインをそれっぽく、かっこよくしてみました(自分なりに)</li> <li>昨日の開発再開から早急に公開したかったので、必要最低限の機能で、一通り遊べるものにしました。</li> <li>コメントが盛り上がるように、トップページに最新のコメントの投稿された楽曲のリストを表示するようにしました。</li> </ul> <h2>今後のアップデート</h2> <ul> <li>楽曲のSNSシェア(+個別ページとOGP)</li> <li>コメントのSNSシェア(+個別ページとOGP)</li> <li>Twitter認証以外のログインメソッドの実装</li> <li>直近のコメント・多数コメントがある楽曲リストページ</li> <li>諸々の細部調整・セキュリティ対応</li> </ul> <h2>web1weekに参加してみて</h2> <p>参加を楽しみにしていたにもかかわらず、期間中に公開することができずにとても詳しい思いでいます。が、作ることの大きなモチベーションをもらい、遅くなってしまいましたがとりあえず作り終えて公開することができたので良かったかなと思っています。<br /> 次はちゃんと期間内に公開できるように頑張りたいです。</p> ぷろみつ tag:crieit.net,2005:PublicArticle/e4df19d18f29468d23d231c635724ff8 2020-05-31T21:52:17+09:00 2020-05-31T22:03:38+09:00 https://crieit.net/boards/web1week-202005/e4df19d18f29468d23d231c635724ff8 『食べ合わせシミュレーター』を作りました初めまして、ないくと申します。サービス開発初心者です。... <h1>『食べ合わせシミュレーター』を作りました</h1> <p>初めまして、ないくと申します。サービス開発初心者です。<br /> web1week初参加でした!<br /> 1週間遅れで、未実装の機能も多いですが、何とかお見せできる状態まで作れました。</p> <p>今回のお題は「like」<br /> 自分は健康関連の情報を漁るのが好きなんですが、サプリメントを飲むときに飲み合わせ(食べ合わせ)を調べることが多いので、<br /> 食べ合わせをシミュレートできるサービスをつくってみました。</p> <p>単品料理を食べるとき<del>や、サプリメントを飲む時</del>などに使ってみてください!<br /> (食材選択にサプリメントの項目を入れ忘れていたので近いうちにすぐアップデートします笑)</p> <p>シミュレート結果には主に栄養素の相性(吸収効率)のことが書かれています。<br /> 今後のアップデートで健康面での相性(有害物質を排出する、病気予防になる等)も追加していきたいです。</p> <p><a target="_blank" rel="nofollow noopener" href="https://food-synergy-simulator.netlify.app/">https://food-synergy-simulator.netlify.app/</a></p> <p><a href="https://crieit.now.sh/upload_images/4345306c960ae46bd3801553fee5424c5ed38c4f7b66b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4345306c960ae46bd3801553fee5424c5ed38c4f7b66b.png?mw=700" alt="image" /></a></p> <h2>使い方</h2> <p>1.食材を2つ選択<br /> 2.食べ合わせをチェック!ボタンをクリック<br /> 3.食べ合わせ相性タブをクリック<br /> 4.結果表示!</p> <p>何か相性があれば表示されているはずです。<br /> 因みに相性結果は現時点で100種類以上あって、今後も増えていく予定です。</p> <h2>開発で大変だった点</h2> <h3><strong>食べ合わせの情報収集</strong></h3> <p>実はweb1week前からこのサービスを作ろうと思っていて、食べ合わせの情報を集めていたのですが、情報収集だけで20時間以上はかかってると思います。<br /> web1week後もアップデートしていく予定ですが、、、正直もう調べたくない...(泣)</p> <p>相性の解説はなるべく詳しく書いているつもりなのでよかったら色々と組み合わせて見ていただけると嬉しいです。</p> <h2>工夫した点</h2> <h3><strong>相性結果をポケモン図鑑風にした</strong></h3> <p>これ名案だと思うんですよ!(自画自賛)<br /> 最初のデザインよりは良くなったと思います。</p> <p>以下はカードデザインの成長過程です。<br /> 途中おふざけが入っています。<br /> <a href="https://crieit.now.sh/upload_images/df0d008b98e5b7912ef72255fb346f035ed395a0113a6.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/df0d008b98e5b7912ef72255fb346f035ed395a0113a6.png?mw=700" alt="カードデザインの成長過程" /></a></p> <h2>今後のアップデート</h2> <p><strong>・相性図鑑・栄養図鑑の作成</strong><br /> せっかく情報を集めたのに相性図鑑や栄養図鑑の一覧が見れないのは勿体ないので見れるようにしたいです。</p> <p><strong>・食材の各栄養素の表示</strong><br /> 時間が足りず未実装なのでこれも今後実装します。<br /> 栄養の体内での働きやどの病気に効果的かなども解説に書きたいですね。</p> <p><strong>・栄養成分の追加</strong><br /> クエン酸や有害物質、アルコールなども栄養成分に含めて、この組み合わせは美容にいいです、有害物質の排出を促します、アルコールの分解を助けます、みたいな相性結果を追加したいです。</p> <p><strong>・各病気に有効な栄養素と食べ合わせの検索</strong><br /> 各病気の予防・改善に有効な食べ合わせや栄養素を検索できたらこのサービスの使い道が増えそう。</p> <h2>web1weekに参加してみて</h2> <p>今回が初参加でしたが、参加してみて1週間がとても短く感じました。webサービス作るのって結構大変ですね...</p> <p>大変だった分、ほぼ未経験だったVueとSCSSの知識がかなり増えて、良い経験が積めました。</p> <p>こういった期間が決まったイベントは、普段の開発と違ってモチベーションが高くなるのでとてもいいイベントだと思いました!</p> <p>また次回の開催があれば是非参加したいです!<br /> 次はちゃんと1週間以内に完成させます!...笑</p> ないく@個人開発 tag:crieit.net,2005:PublicArticle/e7933cc3bf921fd5250d360062adbd75 2020-05-26T20:28:05+09:00 2020-05-26T21:29:35+09:00 https://crieit.net/boards/web1week-202005/e7933cc3bf921fd5250d360062adbd75 【WebGL】3D空間でみんなで動画を見れるウェブサービスを作りたかったけれど惜しいところまで行ったので公開します。 <p><a href="https://crieit.now.sh/upload_images/1146745be5a89017a04e79567086d8d55ecc696f67cb8.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1146745be5a89017a04e79567086d8d55ecc696f67cb8.jpg?mw=700" alt="image" /></a></p> <p>(はが)@mxcn3 です。 #web1weekに乗じて作りたいと思ってたサービスの開発を進めて見ました。</p> <p>今回のテーマは好きということですね!インターネットの人とと繋がれる感じが大好きです!初めてインターネットに触れたあの感覚!そこで今回作ったものはこちらです!</p> <p>スマホ・PC両対応です!<br /> スマホの場合は2本指を器用に使うと動けます!!<br /> Onfes<br /> <a target="_blank" rel="nofollow noopener" href="https://onfes.com">https://onfes.com</a></p> <h4>※ まだできてません!マジで不具合バグだらけです</h4> <h2>サービスについて</h2> <p>Onfes(オンフェス)です。<br /> このサービスのコンセプトの大まかな方針は、<code>自由</code>で<code>わちゃわちゃ</code>できる夢のような空間を目指しています。</p> <h2>経緯</h2> <p>数週間前、3D空間で飲み会のツールを作りたいと考えていて、3D空間を作っていました。</p> <h2>作りたかったもの・構想</h2> <p>※ こちらは構想です<br /> ウェブ上で誰もが自由で、わちゃわちゃできるもの</p> <p><a href="https://crieit.now.sh/upload_images/5ffd1cb8ddd6b9b3e049124ae10a47065ecc698abc6f5.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5ffd1cb8ddd6b9b3e049124ae10a47065ecc698abc6f5.jpg?mw=700" alt="image" /></a></p> <ol> <li>ライブ配信をするアプリからライブ配信者が配信ボタンを押すとWeb上で入れる空間が共有される</li> </ol> <p><a href="https://crieit.now.sh/upload_images/b9560b01b68a9a8d48ad82dc3fe7e8195ecc69e2c0742.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/b9560b01b68a9a8d48ad82dc3fe7e8195ecc69e2c0742.jpg?mw=700" alt="image" /></a></p> <ol start="2"> <li><p>1vs1での音声、チャットによるコミュニケーション<br /> <a href="https://crieit.now.sh/upload_images/1873515d8892062e7d58eedaf2b96ebd5ecc69f0a456c.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1873515d8892062e7d58eedaf2b96ebd5ecc69f0a456c.jpg?mw=700" alt="image" /></a></p></li> <li><p>商品の売買<br /> <a href="https://crieit.now.sh/upload_images/4e238d8b9688793684c4c6c129c6289f5ecc69f9045bd.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4e238d8b9688793684c4c6c129c6289f5ecc69f9045bd.jpg?mw=700" alt="image" /></a></p></li> </ol> <p>この3つの機能を含んだウェブサービスでした。</p> <h3>実際一週間でできたもの</h3> <p>作ったものでも、不具合だらけのウェブサービスですがこちらの概要に勇気をもらったので公開したいと思います。<br /> 動きはするのでぜひ遊んでみてください。</p> <p>Webサービスを1週間で作るイベント開催の概要</p> <blockquote> <p>1週間しかありませんので、練習程度に作ったちょっとした1機能のものでも、不具合だらけでほとんど動かないようなものでも大丈夫です。逆に余裕があれば大作を作っていただいても大丈夫です。他の人とネタがかぶっちゃっても全然だいじょうぶです。また、1週間かける必要があるわけではないので1日だけ作ってみる感じでもOKです。</p> </blockquote> <h3>サービス</h3> <p><a href="https://crieit.now.sh/upload_images/1c87d57c6237b681eca75af9d1c038e05ecc67b91b4f0.gif" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1c87d57c6237b681eca75af9d1c038e05ecc67b91b4f0.gif?mw=700" alt="image" /></a></p> <p><a target="_blank" rel="nofollow noopener" href="https://onfes.com">Onfes</a></p> <h4>できること</h4> <ul> <li>3D空間で動画を見ること</li> <li>複数人で入って動くこと</li> </ul> <p>今の所この2点だけです!!!</p> <p>進捗具合としてはほぼかなり納得入っていませんが公開をするための練習として公開をさせていただきます!</p> <h2>作れなかったもの</h2> <ul> <li>UI/UX全般 (すみません ></li> <li>魅力的な体験 ( いちばん大切な部分をまだ作れていないので、これから全力を出します)</li> </ul> <h2>技術</h2> <p>使用した技術については<br /> 3D部分<br /> - PlayCanvas<br /> マルチプレイ部分<br /> - Photon JavaScript SDK<br /> ホスティング先<br /> - Firebase</p> <p>で開発しています。</p> <h2>何に時間がかかってしまったか</h2> <p>ミドルウェアやライブラリを使っているのになぜ3D空間の中を動かすだけで時間がかかったのか?と思うのですが1番作成に時間がかかったのはここです。</p> <h2>ここの問題</h2> <p><a href="https://crieit.now.sh/upload_images/ffd5c8875e9e19c78b047a6e20b3a5a05ecc8c1970fb3.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/ffd5c8875e9e19c78b047a6e20b3a5a05ecc8c1970fb3.jpg?mw=700" alt="image" /></a></p> <p>ここはm3u8の動画を再生しているのですが、こちらを実装する際にいくつか実装に手間取りました。</p> <h2>Safari再生できない問題</h2> <p>Safariで再生できない問題があったのでその問題と解決策を共有します。</p> <h3>1. HLS.jsいらなかった問題</h3> <p><a target="_blank" rel="nofollow noopener" href="https://github.com/video-dev/hls.js/">hls.js</a>というライブラリを使って<code>m3u8</code>形式の動画を再生するためのライブラリをしようして動画の再生を行いました。</p> <p>hls.jsを使用するためのコードはこんな形です。</p> <pre><code class="javascript"> if (Hls.isSupported()) { var hls = new Hls(); hls.loadSource(videoSrc); hls.attachMedia(video); hls.on(Hls.Events.MANIFEST_PARSED, function () { video.loop = true; video.muted = true; video.autoplay = false; video.setAttribute("playsinline", ""); }); } </code></pre> <h5>解決方法</h5> <pre><code> if (Hls.isSupported()) {} </code></pre> <p>スマートフォンの時には<code>canplay</code>のイベントが呼ばれなかったのですが、原因はSafariではHls.jsには対応していないけれど、そもそも<code>video</code>タグでそのまま<code>m3u8</code>形式の動画が再生できるということでした。</p> <h3>2. テクスチャ表示されない問題</h3> <p>3D空間内の動画の再生方法は、PlayCanvasの公式チュートリアルを参考にしてたのですが。</p> <p>動画テクスチャ<br /> <a target="_blank" rel="nofollow noopener" href="https://developer.playcanvas.com/ja/tutorials/video-textures/">https://developer.playcanvas.com/ja/tutorials/video-textures/</a></p> <p>これが、Safariだと、真っ黒になってしまい再生されませんでした。</p> <p>結果的にこれはテクスチャのフォーマットを<code>pc.PIXELFORMAT_R5_G6_B5</code> → <code>pc.PIXELFORMAT_R8_G8_B8</code>に変更することで動作しました。</p> <h2>本当に作りたいもの</h2> <p>Onfesは今の所、簡単な操作、動画視聴機能しかありませんが今後のアップデートで、<code>SHOWROOM</code>のようなイケてる空間<code>VRChat</code>のような機能を実装して、<code>メタバースなVRでARでフィンテック</code>な空間を実装してオンラインでフェスを行うならオンフェスとなるようなサービスを作ります。</p> <p>今後もちょくちょくアップデートをしていきますのでよろしければこちらのツイッターのフォローしていただけると嬉しいです!</p> <p>感想とか、活用方法があるよーとかあれば教えて下さい〜</p> <p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/Mxcn3">はが - Twitter</a></p> <h3>感想</h3> <p>5/18 土曜日 着手<br /> 5/23 土曜日 配信者側のコードを書く<br /> 5/24 日曜日 視聴者側のことを忘れてて急いで書き始める<br /> 5/25 月曜日 勢いで公開しちゃってもいいかと思う<br /> 5/26 火曜日 急いで記事を書く ← 今ここ</p> <p>考えてたら時間が立ってた</p> <h4>3D空間の画面に表示されている綺麗な動画について</h4> <p>これは、Bick Buck Bunnyというクリエイティブ・コモンズの動画を使用していたのですが、これがあることでデバッグがめちゃくちゃ捗りました。</p> はが tag:crieit.net,2005:PublicArticle/web-1-2-web1week 2020-05-25T23:24:50+09:00 2020-05-25T23:24:50+09:00 https://crieit.net/boards/web1week-202005/web-1-2-web1week 【webサービス】大学1年生、プログラミング歴2ヶ月、初めてのサービス開発【web1week】 <p>記事の閲覧ありがとうございます!デザインエンジニアを目指して勉強中の大学1年生の<a target="_blank" rel="nofollow noopener" href="https://twitter.com/designer_raika">らいか</a>です。</p> <p>今回は1週間で"LIKE"をテーマにしたサービスを作る"web1week"というイベントに知り合いの大学1年生の<a target="_blank" rel="nofollow noopener" href="https://twitter.com/VRkusuzawa">エンジニア</a>と参加したので、反省も込めて簡易的なレポートを書いていきたいと思います。</p> <h1>サービスの概要</h1> <p>今回のテーマである"LIKE"を聞いて、連想したのは最近の暗いSNSの雰囲気でした。自粛続きで、ストレスが溜まったSNSユーザーが好き勝手にあちこちでターゲットを見つけては発散している...</p> <p>私はそんなSNSの雰囲気を少しでも明るくするようなアプリを作りたいなと思いました。そこで考えたのが、"<strong>あなたのスキの言語化をサポートする</strong>"サービスです!</p> <p><a href="https://crieit.now.sh/upload_images/00f9c294be1d96ba1190b1bfd7b9f0ef5ecbd08224b1b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/00f9c294be1d96ba1190b1bfd7b9f0ef5ecbd08224b1b.png?mw=700" alt="image" /></a></p> <p>機能としては<br /> "友人、推し、家族、憧れ"としての4種類のスキ別にメッセージカードを用意し、名前とメッセージを入力して各種SNSにシェア出来るような物です。<br /> (実際には画像を保存してSNSにシェアする機構がサーバーがないと実現出来なかったので、今回は断念しました)</p> <p>実際に公開したサービスです。<br /> <a target="_blank" rel="nofollow noopener" href="https://yuya-bakuretsu.github.io/LikeWeb/likeTop.html">リンク</a>*スマホ推奨</p> <h1>感想</h1> <p>今回はペアでの開発だったのですが、僕もチームメンバーも個人での開発は初心者です。ましてや僕はプログラミングすら初心者(本格的に始めて2ヶ月程度)だったので、最初はとても不安でした。</p> <p>しかし、僕→フロントエンド、メンバー→バックエンドと明確な役割分けが出来ていたので、開発は予想以上にスムーズでした。</p> <p>ただやはり慣れていない点が多く、<br /> ・gitでのコンフリクトが多発する<br /> ・開発最終日でサービスのメインの機能が技術的に実装不可能となり、仕様変更を余儀なくされる<br /> ・途中で自分たちのサービスが何をしたいかわからなくなる<br /> などの様々な問題が続出しました。特にコンフリクトがひどく、メンバーは最終日に3時間近くコンフリクトの解消に取られていました。(ありがとう!ごめんね!)</p> <p>また、実際に使われるwebサービスということで、デザインも普段やる練習と異なり、ページ遷移や機能に合わせなければいけなく、そこも貴重な経験になりました。</p> <h1>まとめ</h1> <p>ノリでこのイベントに参加したのですが、オンラインで行うハッカソン的な感覚で非常に楽しめました!<br /> 簡単なwebサービスなら時間・金銭的にもほとんどコストがかからないので、みんなも一緒にやろう!<br /> サービス開発たのしい!!!(^p^)</p> らいか tag:crieit.net,2005:PublicArticle/TalkLike 2020-05-25T18:02:05+09:00 2020-05-26T00:27:31+09:00 https://crieit.net/boards/web1week-202005/TalkLike 好きなものについて自由に語れるサービスTalkLikeをリリースしました <h1>好きなものについて自由に語れるサービスTalkLikeをリリースしました</h1> <p>開催期間から1日遅れてしまいましたが、Likeをテーマにしたサービスを公開しました!</p> <p><a target="_blank" rel="nofollow noopener" href="https://talk-like.com/">https://talk-like.com/</a></p> <p>機能はいたってシンプル。好きな作品のジャンルと名前、そしてどこか好きかを語って投稿するだけです。</p> <p><a href="https://crieit.now.sh/upload_images/c4b8bd4b88c31b1dc3da75007066dbe55ecb877370079.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c4b8bd4b88c31b1dc3da75007066dbe55ecb877370079.png?mw=700" alt="投稿画面" /></a></p> <p>投稿後はページが作られるのですが、そのURLには動的にOGPが設定されるのでいい感じにTwitter映えした投稿ができます。</p> <p><a href="https://crieit.now.sh/upload_images/835ac26f7196012f3ce10fa46d2915f15ecb8987a43de.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/835ac26f7196012f3ce10fa46d2915f15ecb8987a43de.png?mw=700" alt="image" /></a></p> <h2>どうして作ったのか</h2> <p>自分の好きなものについて語りたくても、SNSでは文字数制限があったり、ファンの人ばかりとは限らないわけです。</p> <p>なので、好きなものについて自由に語れるマイクロブログのようなものを作ってみたいと思いました。</p> <p>URLをTweetするだけなので、興味のない人は見なければいいし、OGPがあるので、興味がある人は惹かれてクリックして中身を見るはず。</p> <h2>目指している世界観</h2> <p>これを続けていくと、たとえば、「鬼滅の刃を好きな人はどんな点が好きなのか」を一覧で見れるようになると思っています。それってデータとして結構面白いなと。</p> <p>分野も、ファーストリリースでは作品系だけにしますが、今後、Web技術とかもやってみたいなと思います。みんなが好きなプログラミング言語とその理由とか一覧で見たくないですか?</p> <h2>どう作ったのか</h2> <p>Firebaseの匿名認証で投稿可能にしていて、投稿後のページはSSRでFirestoreからデータを抜いて表示しています。GAEにデプロイしています。</p> <p><a target="_blank" rel="nofollow noopener" href="https://qiita.com/mejileben/items/eaa125c18fd80e15f2db">https://qiita.com/mejileben/items/eaa125c18fd80e15f2db</a></p> <p>悪用されるなどしたらログイン必須にしようと思いますがいったんこれでやってみます。SSRも、お金がかかったらやめるかもしれませんが、アフィリエイトリンクと相性がいい気もするので、もしワークしたらちょっとしたマネタイズも考えたいです。</p> TeXmeijin tag:crieit.net,2005:PublicArticle/9e983864066e49d7af298c54aefc5caa 2020-05-25T15:39:47+09:00 2020-05-25T16:03:47+09:00 https://crieit.net/boards/web1week-202005/9e983864066e49d7af298c54aefc5caa いいねがもらえる画像生成器「水溜りの鏡」 <p>はじめまして個人開発をしています<a target="_blank" rel="nofollow noopener" href="https://twitter.com/sato_neet"><strong>さと</strong></a>といいます。<br /> いつも参加させてもらっているハッカソン<a href="https://crieit.net/boards/web1week-202005">#web1week</a>のお題が<strong>Like</strong>だったので、<br /> <strong>いいね</strong>がもらえる画像生成器を作りました!</p> <p>道路に水溜りが作れるアプリ<br /> <a target="_blank" rel="nofollow noopener" href="https://mirror-puddle.tokyo/"><strong>水溜りの鏡</strong></a></p> <p><a target="_blank" rel="nofollow noopener" href="https://mirror-puddle.tokyo/"><a href="https://crieit.now.sh/upload_images/1fc4c22794f7bade6941288799b832765ecb6458954a7.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1fc4c22794f7bade6941288799b832765ecb6458954a7.jpg?mw=700" alt="OGP.jpg" /></a></a></p> <p>自分のネタ帳から1週間で作れそうなものを選んで作ったつもりだったのですが、結局1週間で完成せず…<br /> 工数とか見積もるのってほんと難しい…😭</p> <h2>使い方</h2> <h3>1. 写真を選ぶ</h3> <p><strong>道路</strong>が写った写真をスマホのライブラリから選んでください<br /> 傾いた画像はうまく行かないことが多くって…<br /> なるべく<strong>真っ直ぐ</strong>な画像推奨です!<br /> <a href="https://crieit.now.sh/upload_images/1daafa476d668a42fa1e50b1493abd4c5ecb6dc4a0296.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1daafa476d668a42fa1e50b1493abd4c5ecb6dc4a0296.jpg?mw=700" alt="Frame 3.jpg" /></a></p> <h3>2. 水たまり画像ができるので</h3> <p>画像を保存したい場合は、スマホの方は長押し、パソコンの方は右クリックから画像を保存<br /> <a href="https://crieit.now.sh/upload_images/d7033961d43d7da6a107fbf77f2559345ecb6ce6447d6.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d7033961d43d7da6a107fbf77f2559345ecb6ce6447d6.jpg?mw=700" alt="Frame 2.jpg" /></a></p> <h3>3. 比較画像を共有</h3> <p>共有用の画像も作られるのでシェアしてみんなで楽しんでいただけると嬉しいです!<br /> <a href="https://crieit.now.sh/upload_images/ebadcce0ccc1ba0e1041bfc64b8c03585ecb6cd858a56.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/ebadcce0ccc1ba0e1041bfc64b8c03585ecb6cd858a56.jpg?mw=700" alt="Frame 1.jpg" /></a></p> <h2>使っている技術</h2> <ul> <li>Firebase でホスティングとデータ保存</li> <li>Firebase Dinamic Links<br /> 短縮URLの生成と同時に各種SNS用のOGPも生成してくれるのでとっても便利!</li> <li>Cloud EndpointsでAPIの制限と認証</li> <li>Cloud Run でバックエンドのAPIサーバー</li> </ul> <h2>感想</h2> <p>1週間しかなかったから、だいぶあらが目立つのですが、無事公開できてホッとしています!<br /> 最近新しいもの全然作れてなかったからとっても楽しかったです!<br /> いっつも素敵なイベント開催していただいて、だらさんありがとうございます☺️</p> <h2>よかったら遊んでみてくださいね!</h2> <p>水溜り写真生成サービス<br /> <a target="_blank" rel="nofollow noopener" href="https://mirror-puddle.tokyo/"><strong>水溜りの鏡</strong></a><br /> <a target="_blank" rel="nofollow noopener" href="https://mirror-puddle.tokyo/"><a href="https://crieit.now.sh/upload_images/1fc4c22794f7bade6941288799b832765ecb6458954a7.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1fc4c22794f7bade6941288799b832765ecb6458954a7.jpg?mw=700" alt="OGP.jpg" /></a></a></p> さと@駆け出しエンジニア🦙個人開発 tag:crieit.net,2005:PublicArticle/Chrome-5ecb47307eb23 2020-05-25T13:18:56+09:00 2020-05-25T13:31:45+09:00 https://crieit.net/boards/web1week-202005/Chrome-5ecb47307eb23 無限にいいね出来るChrome拡張 <p><a href="https://crieit.now.sh/upload_images/d85867ad492269a064e57fcb7f92eaf05ecb3822124b0.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d85867ad492269a064e57fcb7f92eaf05ecb3822124b0.png?mw=700" alt="無限にいいね出来るChrome拡張" /></a></p> <h1>たった1度のいいねじゃ足りない</h1> <p>もっといいのに。<br /> いいねボタンを10万回押しても、100万回押しても、表示されるのは「未いいね」<br /> この世界は間違っている。</p> <p>そんな貴方に捧げるChrome拡張「Infinity like」を作りました。<br /> <a target="_blank" rel="nofollow noopener" href="https://github.com/kin-mi/infinity-like">https://github.com/kin-mi/infinity-like</a></p> <p><a href="https://crieit.now.sh/upload_images/a8ff6d88724b1f3f962d5e3b1339343b5ecb3bc04fbb2.gif" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/a8ff6d88724b1f3f962d5e3b1339343b5ecb3bc04fbb2.gif?mw=700" alt="inifinity like demo" /></a></p> <p>これで無限に愛を伝えられます。やったね!<br /> ※ この拡張はジョークアプリです。伝わりません。</p> <h1>きっかけ</h1> <p><a href="https://crieit.net/boards/web1week-202005/Chrome-5ec62848aad87">nabettuさんの記事</a>を見て、<a target="_blank" rel="nofollow noopener" href="https://www.npmjs.com/package/chrome-extension-cli">Chrome拡張開発用のテンプレート</a>があると知り、前々からチャレンジしてみたかったのでweb2daysで作ってみました。</p> <h1>やりたかった実装</h1> <p>最初は「いいね済」の要素を「未いいね」の要素に変えて、いいね数をカウントアップすれば出来るんじゃないかと考えましたが甘かったです。<br /> というか、SPAなので簡単に書き換え可能だったらガチで無限いいねの送信出来ちゃうんですよね。そんな脆弱性は無かったです。<br /> いいね数のみ監視して、変更前後で下がったらカウントアップする、みたいな実装にしています。<br /> 実際には、いいねボタンを連打しているのと変わらない為、問題無いはず。</p> <h1>ハマりポイント</h1> <p>Chrome拡張の開発自体はとてもスムーズに出来ると感じました。<br /> ただテンプレートに含まれているwebpackプラグインのCopyWebpackPluginがアップデートされていて、その対応が含まれていないので初回ビルドで下記のエラーが発生しました。</p> <pre><code>Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema. - options[0] misses the property 'patterns'. Should be: [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item) ValidationError: Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema. </code></pre> <p> <br /> <code>config/webpack.common.js</code> の該当部分を下記の様に書き換えて対応しました。</p> <pre><code class="javascript"> // Copy static assets from `public` folder to `build` folder new CopyWebpackPlugin({ patterns: [{ from: '**/*', context: 'public' }], }), </code></pre> <h1>言い訳</h1> <p>カウントアップ出来た所で満足して他の所はテンプレートのママです。<br /> アイコンはデフォルトだし、ツールバーをクリックすると謎のカウンターが表示されます。<br /> <a href="https://crieit.now.sh/upload_images/b718b550104386eede5fcf7b7392d8f75ecb454e73c43.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/b718b550104386eede5fcf7b7392d8f75ecb454e73c43.png?mw=700" alt="謎のカウンター" /></a></p> <p>あと、いいね1万超えのツイートは未対応です。<br /> 今後やる気があれば1万1, 1万2 〜 となるように対応します。</p> <p>それからストアに公開するには申請が必要なのでリポジトリで勘弁してください。<br /> <a target="_blank" rel="nofollow noopener" href="https://github.com/kin-mi/infinity-like">https://github.com/kin-mi/infinity-like</a><br /> READMEも作ってないですが、クローンしてビルドして<a target="_blank" rel="nofollow noopener" href="chrome://extensions/">chrome://extensions/</a>から追加してあげれば動くはずです。</p> <h1>良き無限いいねライフを</h1> <p>次回こそは間に合わせます・・・</p> きんみ tag:crieit.net,2005:PublicArticle/A-is-like-B 2020-05-25T08:48:52+09:00 2020-05-25T08:48:52+09:00 https://crieit.net/boards/web1week-202005/A-is-like-B とっさのスピーチ力とか説得力を培うことのできる、A is like Bゲームを作りました <p><a href="https://crieit.net/posts/a-is-like-b">https://crieit.net/posts/a-is-like-b</a></p> だら@Crieit開発者 tag:crieit.net,2005:PublicArticle/30DaysSongChallenge-30-5ecb07cf51144 2020-05-25T08:48:31+09:00 2020-05-25T08:48:31+09:00 https://crieit.net/boards/web1week-202005/30DaysSongChallenge-30-5ecb07cf51144 #30DaysSongChallenge に触発されて自由に 30 日間チャレンジカレンダーが作れるサービスを作った <p><a href="https://crieit.net/boards/web1week-202003/30DaysSongChallenge-30">https://crieit.net/boards/web1week-202003/30DaysSongChallenge-30</a></p> だら@Crieit開発者 tag:crieit.net,2005:PublicArticle/WIP-Admin-Guild 2020-05-24T23:59:55+09:00 2020-05-29T04:06:00+09:00 https://crieit.net/boards/web1week-202005/WIP-Admin-Guild ウェブサービス運営者同士でワイワイするサービス「Admin Guild」を作りました! <p>どうも<a target="_blank" rel="nofollow noopener" href="https://diverdown.co.jp">Diver Down LLC.</a>の<a target="_blank" rel="nofollow noopener" href="https://twitter.com/en30y">en30</a>です。</p> <p>web1weekで楽しそうにしている人たちを見ていたら気持ちが盛り上がってしまい <a target="_blank" rel="nofollow noopener" href="https://twitter.com/Neko_Inu_">だーすー</a> と <a target="_blank" rel="nofollow noopener" href="https://admin-guild.com">Admin Guild</a>というサービスを作りました。</p> <p><a target="_blank" rel="nofollow noopener" href="https://admin-guild.com">https://admin-guild.com</a></p> <h2>どんなサービス?</h2> <p>ウェブサービス運営者同士でGoogle Analyticsのデータを見てワイワイできる(予定)のサービスです!<br /> お気に入りした(Like)サービスをウォッチしたりもできます。</p> <p><a href="https://crieit.now.sh/upload_images/e845f2a4ad7d7ea447eb930deb3c5cc15eccbe52454dc.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e845f2a4ad7d7ea447eb930deb3c5cc15eccbe52454dc.png?mw=700" alt="スクリーンショット 2020-05-26 15.58.58.png" /></a></p> <p>いまのところ<a target="_blank" rel="nofollow noopener" href="https://qiita.com/organizations/admin-guild">運営者ギルド</a>のSlackメンバー限定で登録出来るようになっています。</p> <p>まだ機能としては<br /> - Slackログイン<br /> - Google Analytics連携でサービス登録<br /> - バックグラウンドでリアルタイムユーザ数を取得してランキング</p> <p>程度しかなく、なんとかインターネット上にURLを公開するところまでやって終了時間まで滑り込んだ、という感じですがこれから諸々実装していきます。</p> <h2>どんなものを使ったか</h2> <p>僕は普段は主にRailsで開発しています。web1weekでは短期間で小さなサービスを作ることになるので、技術検証も兼ねて個人的にはかなり攻め気味の技術を選んでみました。(その結果まるで間に合いませんでしたが!)<br /> なぜ選んだのかは書いていたら長くなってしまったので記事最後のおまけに回しました。</p> <ul> <li>TypeScript</li> <li>Next.js</li> <li>React Native for Web(Expo)</li> <li>Firebase <ul> <li>Authentication</li> <li>Functions</li> <li>Firestore</li> </ul></li> <li>Google App Engine</li> </ul> <h2>ハマったところ</h2> <h3><code>@expo/next-adapter</code> だとサーバサイドでも環境変数が使えない</h3> <p>Next.jsとExpoの連携には<br /> <a target="_blank" rel="nofollow noopener" href="https://docs.expo.io/guides/using-nextjs/">Using Next.js with Expo for Web - Expo Documentation</a><br /> を参考に <code>@expo/next-adapter</code> を利用しました。</p> <p><code>@expo/next-adapter</code> を使うと <code>process.env</code> が書き換えられてしまい、 <code>getServersideProps</code> 内などサーバサイドでも環境変数を自由に使うことができません。</p> <p>Expoは基本クライアントのためのビルドをするものだと思うので、わからないでもないですがNext.jsと組み合わせて使う上ではちょっとつらいです。</p> <p>とりあえずIssueをたてておきました<br /> - <a target="_blank" rel="nofollow noopener" href="https://github.com/expo/expo-cli/issues/2156">With @expo/next-adapter, process.env is not available even on server side. · Issue #2156 · expo/expo-cli</a></p> <p>いまのところ、サーバサイドで外部から何かを渡したいなら環境変数ではない方法で渡す必要があります。<br /> 今回はApp Engineに置いてGCPの<a target="_blank" rel="nofollow noopener" href="https://cloud.google.com/secret-manager">Secret Manager</a>を利用しました。</p> <h3>Firebase Authenticationではrefresh_tokenがとれない</h3> <p>サービスの性質上、ユーザがサービス上にいなくても定期的にGoogle Analytics APIで情報を取得したいです。ですがFirebase Authenticationだと <code>refresh_token</code> が取ません。</p> <p>なので<br /> - <a target="_blank" rel="nofollow noopener" href="https://developers.google.com/identity/sign-in/web/sign-in">Google Sign-In for Websites</a> で <code>refresh_token</code> も取得<br /> - Firebaes Authentication の <code>firebase.auth().linkWithCredential()</code></p> <p>と組み合わせることで対応しました。</p> <h4>参考</h4> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://stackoverflow.com/questions/27890737/firebase-google-auth-offline-access-type-in-order-to-get-a-token-refresh">Firebase Google Auth offline access_type in order to get a token refresh - Stack Overflow</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://stackoverflow.com/questions/49929134/how-to-get-refresh-token-for-google-api-using-firebase-authentication">How to get refresh token for google api using Firebase authentication - Stack Overflow</a></li> </ul> <h2>感想</h2> <p>最近あまり新しいサービスを出せていなかったし、締め切りありの短期間でウォー!!!!と開発するのが楽しかったです。</p> <p>楽しい企画をありがとうございました。</p> <h2>おまけ</h2> <h3>技術検証の意図</h3> <p>Railsは少人数で最速でウェブサービスを立ち上げるには本当に良いフレームワークだと思っています。<a target="_blank" rel="nofollow noopener" href="https://marshmallow-qa.com">マシュマロ</a>では<a target="_blank" rel="nofollow noopener" href="https://github.com/turbolinks/turbolinks">Turbolinks</a> + <a target="_blank" rel="nofollow noopener" href="https://stimulusjs.org/">Stimulus</a>というRails wayど真ん中の選定をしました。開発速度という意味ではいい選択だっと思っています。</p> <p>とはいえ、触れる情報、環境の変化で<br /> 『Railsは次に作るサービスでも良い選択肢だろうか』<br /> というのに少し迷いがでてきました。</p> <h4>マネージドサービスを組み合わせて作るサービス</h4> <p>いままで主にVPSを使ってましたが、最近はGCPにも結構触っています。<br /> 少人数(いまのところ一人)で開発していく上では、運用に時間的コストを払っていると全然回らないなという課題があります。<br /> マネージドサービスの</p> <ul> <li>自分での運用が必要な部分を減らしていける</li> <li>スケーラビリティのことをあまり気にしなくて良い</li> <li>セキュリティ周りのアップデートもサービス側がやってくれる部分が結構ある</li> </ul> <p>というのは大きな魅力です。</p> <p>Railsを使っているからスケールしないというようなことは、とんでもない規模になってもなかなか無いと思います。ただ、今Sidekiqを使っている場面でCloud Tasks, PubSub + Cloud Functionsを選んだり、サービスをうまく組み合わせて作ることで、もっと運用で考えることを減らせるのでは?という選択肢が見えてきました。</p> <p>もちろんRailsとそういうサービスを組み合わせていくことも出来るわけですが、どう組み合わせていくかを考えていく必要があります。もしそちらの方向に舵を切っていくならRailsである意味があまり無くなってしまうかもれしれないと感じてきました。</p> <h4>React周辺の進歩へのキャッチアップ</h4> <p>Railsの中心にはHTMLがあります。一方JavaScript中心の世界もあり、進歩が目覚ましいです。目覚ましすぎてどうにも隣の芝が青く見えてきました。</p> <p>以前アプリ☆メーカーを書き換えるのにReactを使いました。それなりに早い段階での採用だったので自分で考えなければいけない部分があまりにも多くなってしまいました。webpackのconfigは?ルーティングは?状態管理どうする?SSRは?等。その結果、一人で開発するのでは全然開発速度がでない、品質も低い、変化も早くメンテナンスコストも高い、という失敗をしてしまいました。その失敗から、インタラクティブであることに高い価値があるサービスだったり、開発チームが大きいのでなければ全然コスパが良くないなという印象でした。</p> <p>なので、しばらくは距離を起きつつ横目にちらちらと進歩を見ていたのですが、最近の動きを見ていて、ここらでもう一度手を動かして触ってみたいなと思ってきました。</p> <h4>ネイティブアプリへの展開</h4> <p>これから作るサービスで、ネイティブアプリ展開もあるかもしれないなと考えているものがあります。</p> <p>RailsをAPIサーバにして、WebのフロントにReactやVueを使うという選択肢はありますが僕はそういう使い方はHTML中心であるRailsの良さの半分を捨てることになるので、微妙かなと考えています。それならNext.jsの方がきれいに見えます。</p> <p>Web寄りの自分を含む少人数で、Webもネイティブアプリもカバーしたいと考えたとき、React Nativeが魅力的に見えます。React Nativは軽く触った印象、style周りも標準のコンポーネントも結構いい感じだなと思っているので、React Native for WebでのWeb開発はどんな感じなのか、というのを試してみたいと思ってきました。</p> <h3>使ってみての雑感</h3> <p>まだ開発が進んでいなさすぎてなんとも言い難いですが、それぞれの印象。</p> <ul> <li>TypeScript <ul> <li>Stimulusと組み合わせても普段から一応使っているので、特に新たに受けた印象はありませんが、静的型付け言語は楽だなと思う場面は多いです。今回使ったものはどれも型定義が簡単に使えるようになっていたので、メリットは大きかったと思います。</li> </ul></li> <li>Next.js <ul> <li>きれいにデザインされていて好きです <ul> <li>ビルド, SSG, SSR等の設定を自分でしないで使える <ul> <li><code>get*Props</code> でうまいことやってくれるのも</li> </ul></li> <li>ファイルの構造 = ルーティングの構造というのもReact Routerみたいなものより好き</li> </ul></li> <li>Slackのcallback等、サーバサイドの処理をどこに書くべきか迷う部分がありました。 <code>/api</code> か <code>getServersideProps</code> か、今回はCloud Functionsもあり。</li> <li>Next.js アプリ自体をどこに置くかも少し迷いました。Cloud Functions自体に入れてしまうという選択肢もあったり。とりあえず考える時間もなかったのでGAEに置きました。</li> </ul></li> <li>React Native for Web(Expo) <ul> <li>大体React Native通りに使えるのだなというのがわかり好印象です</li> <li>今回使えたのはWebのみだったので、クロスプラットフォームで使おうと思ったときに出てくるつらみがあるのかどうかが気になります</li> <li>普通のWeb開発に比べると、UI用のライブラリの選択肢が少なく楽をしづらい部分はあると思います <ul> <li>今回は<a target="_blank" rel="nofollow noopener" href="https://akveo.github.io/react-native-ui-kitten/">UI Kitten</a>というライブラリを使いました。見た目はきれいだしコンポーネントも豊富、ドキュメントも結構整備されてます。ただ、ReactっぽくないAPIで微妙に人には勧めづらい印象でした。</li> </ul></li> </ul></li> <li>Firebase <ul> <li>元々たまに触ったりしていて好きですが、より便利になっていっていますね。Local Emulator便利。</li> </ul></li> </ul> <p>どれも使ってみて結構良いものだなと思いましたが、やはりRailsと比べると重要でない決断をかなり多くの場面でしないといけないようには感じます。学びながらなので比較しづらいですが、WebだけであればRailsの方が結構開発速度がでそうかなという印象です。</p> <h3>これから</h3> <p>ネイティブアプリへの展開までRails(Basecamp) wayに乗っかるのなら、HTMLを中心に起きつつもネイティブアプリもつくる<br /> <a target="_blank" rel="nofollow noopener" href="https://github.com/turbolinks/turbolinks-ios">turbolinks/turbolinks-ios</a>みたいな方向もあります。こちらでどの程度のものが作れるのかが気になってきました。</p> <p>特に開発中の<a target="_blank" rel="nofollow noopener" href="https://hey.com">Hey</a>は最初からネイティブアプリありでスタートするとのことなので、その方向でDHH, Basecampが何か新しい道を示してくれたりするのだろうかと少し期待しています。</p> <p>また、Railsを使っていると最高に便利なのはActiveRecordで、他の選択肢でも同じような生産性が出せるのかというのは結構大きな懸念点です。Prismaや、Hasuraあたりも試してみたいところでしたが開発時間的に全然そこまでいけませんでした。</p> <p>ひとまずは好印象なのでもう少し開発を進めつつ、RDB周りはどうかというのも探っていきたいと思います。</p> en30 tag:crieit.net,2005:PublicArticle/Twitter 2020-05-24T23:54:50+09:00 2020-05-26T23:56:21+09:00 https://crieit.net/boards/web1week-202005/Twitter ウェブレター / あつ森の手紙ライクなもの書いて Twitter などでシェアするサービス <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">『どう〇つの森』の手紙ライクなものを書いて Twitter などでシェアできるサービスを作りました🎉ぜひ遊んでみてくださいね~<a target="_blank" rel="nofollow noopener" href="https://twitter.com/hashtag/web1week?src=hash&ref_src=twsrc%5Etfw">#web1week</a> (とりあえず)完成!↓文章を入力して Twitter でシェアするとこんな感じになります! <a target="_blank" rel="nofollow noopener" href="https://t.co/SKgzwXcQsu">https://t.co/SKgzwXcQsu</a> <a target="_blank" rel="nofollow noopener" href="https://twitter.com/hashtag/WebLetter?src=hash&ref_src=twsrc%5Etfw">#WebLetter</a></p>— hikaru🔥#100DaysOfCode! (@hikaru_firecamp) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/hikaru_firecamp/status/1264568488191909888?ref_src=twsrc%5Etfw">May 24, 2020</a></blockquote> <h2>(1) 作ったもの</h2> <p><a href="https://crieit.now.sh/upload_images/6d7bb13fbf3cbaa931e31241937ad7355ecd08c93de25.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6d7bb13fbf3cbaa931e31241937ad7355ecd08c93de25.png?mw=700" alt="ウェブレター" /></a></p> <blockquote> <p>ウェブレター<br /> <a target="_blank" rel="nofollow noopener" href="https://web-letter.westa.io/">https://web-letter.westa.io/</a></p> </blockquote> <p>ウェブレターというサービスを作りました~<br /> 『どう〇つの森』の手紙ライクなもの書いて Twitter などでシェアするサービスです。</p> <h2>(2) Like 要素</h2> <ul> <li>あつ森の手紙ライク(Like)なサービス🎉</li> <li>好き(Like)なメッセージを手紙に綴ろう💌</li> </ul> <h2>(3) web1week を終えて</h2> <p>(やばいwwまじでギリギリだ)</p> <p>web1week を終えて、とにかく楽しかったです。皆さんの作品もまだ半分くらいしか見れていないので これからすべて巡回しに行きます (笑</p> <p>ウェブレターもぜひ遊んでみてくださいね</p> <blockquote> <p>ウェブレター<br /> <a target="_blank" rel="nofollow noopener" href="https://web-letter.westa.io/">https://web-letter.westa.io/</a></p> </blockquote> <h2>(4) ソースコード公開 (追記:2020-05-26)</h2> <p>『ウェブレター』のソースコードを公開しましたー😎<br /> ざっくり以下の要素技術を利用してまーす</p> <ul> <li>TypeScript</li> <li>NuxtJS (SSRモード)</li> <li>i18n</li> <li>Konva</li> <li>CloudRun</li> <li>Firebase/storage</li> </ul> <blockquote> <p>GitHub<br /> <a target="_blank" rel="nofollow noopener" href="https://github.com/alclimb/web-letter">https://github.com/alclimb/web-letter</a></p> </blockquote> hikaru🐧 tag:crieit.net,2005:PublicArticle/LIEK 2020-05-24T23:54:11+09:00 2020-05-25T03:15:34+09:00 https://crieit.net/boards/web1week-202005/LIEK 好きな場所を投稿する『ご近所LIKEマップ』を作りました! <p>一週間で何かしらWebサービスを作るイベント、<a href="https://crieit.net/boards/web1week-202003/ff735b2ea9df14e5ba6b89e7e7ee4f73">前回</a>に続き参加させていただきました!</p> <h1><strong>今回作ったもの</strong></h1> <p>◼️ご近所LIKEマップ<br /> <a target="_blank" rel="nofollow noopener" href="https://local-likemap.site/localmap/">https://local-likemap.site/localmap/</a></p> <p>今回のテーマが「LIKE」ということで、Google mapのAPIを使って、好きな場所を登録し共有できるサービスです。<br /> 地図上をクリック(タップ)すると位置情報が取得できるので、<br /> 文章と任意で名前やURLを追記し投稿すると、そのマーカーが地図上に組み込まれます。<br /> ユーザー登録も不要です。</p> <p><a href="https://crieit.now.sh/upload_images/83faaa19ea8ff4cf7f54d8d1a14f133c5eca87f16627d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/83faaa19ea8ff4cf7f54d8d1a14f133c5eca87f16627d.png?mw=700" alt="image" /></a></p> <p><a href="https://crieit.now.sh/upload_images/57ec5880441e5bd327b30e89984f438b5eca880234307.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/57ec5880441e5bd327b30e89984f438b5eca880234307.jpg?mw=700" alt="image" /></a></p> <p>※削除機能はありませんが、自由な掲示板みたく気軽に投稿してもらえればと思います!<br /> ※投稿の際にはタイトルも不要です、「なんか猫がいっぱいいる場所」とか、名前のない場所もいっぱいあるので。</p> <p>散歩中にいい場所を見つけたら、現在位置を取得して、<br /> 目の前のいい場所を投稿できる感じです。</p> <h1><strong>作った経緯</strong></h1> <p>1weekイベントが開催されることを知り、何となくgoogle map api の情報を調べてたところ、結構簡単にいろいろできそうだなっと思い「地図を使ってなんかしよう」とは思っておりました。</p> <p>コロナ自粛生活の中で多くの人が近所を散歩することが増えていると思うんですが、その中でうっすらと「テイクアウトやってるお店の情報がわかりづらいなあ」と思ってたり、<br /> 今まで知らなかった近所の美味しいお店とか、のんびりできる感じの場所を見つけることが増えたりもしました。</p> <p>そういう、「近所の人に知って欲しい情報」を緩めにコメントと位置情報でシェアできるといいなと思って作りました。<br /> もちろん、お店の中の人もPRに使ってもらえると嬉しいです。</p> <h1><strong>技術的なお話</strong></h1> <p>言語はPHPとJquery、Javascript、MYSQL<br /> CSSはSASSでコンパイルしてます。</p> <p>今回初めて使ったものとして、<br /> ・Animate.css<br /> ・Google Maps API<br /> があります。<br /> Animate.css はめっちゃ便利!この<a target="_blank" rel="nofollow noopener" href="https://twitter.com/manami50088539/status/1263778177672867840?s=20">ツイート</a>で知りました!<br /> ほとんどのアニメーションなら今後これでまかなえちゃいそう</p> <p>Maps APIは登録自体は過去にしたことがありますが、カスタマイズを実際にしたのは初めてです。</p> <p>Map APIは<a target="_blank" rel="nofollow noopener" href="https://www.webdesignleaves.com/pr/plugins/googlemap_01.html">ここ</a>がすごくわかりやすかったです!</p> <h2>詰まったところ</h2> <p>Google APIキーはURLで制限させているんですが、なぜかローカルではうまく表示されるのに本番ではされず。<br /> URL指定ももれなくやっているのですが、、もう一つとってみるとうまくいけました。謎。</p> <p>DBやテーブル作るのも、生のPHPで接続するのもちょっと久々なのでそれぞれ調べ思い出しつつで時間かかりました。</p> <h2>今後やるかもしれないこと</h2> <p>・投稿情報ごとにタイトル、名前をツイッターでシェアできるようにしたい<br /> ・やっぱり投稿によっては削除をしたいかもなのでユーザー登録をさせるかも<br /> ・URLにシンボリックリンクがうまく貼れず、変な感じになってるのでなおすかも<br /> ・既存のマーカーをカテゴリーやら住所とかから検索する<br /> ・画像投稿(重くなりそうなのでしなさそう)</p> <p>気が向いたらやるかもしれないです。</p> <h4>感想</h4> <p>1週間でどんだけできるかってとこで没頭できてよかったです。<br /> 前回に引き続き、一斉にいろんな人がサービス作ってるのも刺激になりました。</p> <p>是非とも使っていただけると幸いです。</p> ひよこ橋 tag:crieit.net,2005:PublicArticle/faae6aa86b5fc65c74400ba36f7ce897 2020-05-24T23:43:07+09:00 2020-05-24T23:58:02+09:00 https://crieit.net/boards/web1week-202005/faae6aa86b5fc65c74400ba36f7ce897 カップ麺大好きタイマー <p><a href="https://crieit.now.sh/upload_images/6cc6489cd8602170c4124a75f033ce795eca85cf04893.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6cc6489cd8602170c4124a75f033ce795eca85cf04893.jpg?mw=700" alt="image" /></a></p> <h2>カップ麺が大好きな人のためのタイマー</h2> <p>I like cup noodlesという人達のためにつくったカップ麺タイマーです。お湯を注いだら即座にスタートボタンを押してください。3分後にpush通知してくれます。</p> <p>↓リンクはこちら<br /> <a target="_blank" rel="nofollow noopener" href="https://nifty-booth-fec24d.netlify.app/">https://nifty-booth-fec24d.netlify.app/</a></p> <p>※最初にPUSH通知を許可するか確認されます。一度許可すれば、2回目からはpush通知してくれます。</p> <p>※スマートフォンだとpush通知はうまく動いていません…</p> <h2>使った技術</h2> <p>Vue.jsでつくって NetlifyでDeployしてます。この程度のアプリならフレームワーク使う必要もない気がするけど勉強のために使ってみました。プッシュ機能はPush.jsというライブラリを使っています。</p> <h2>つくった人</h2> <p>Wakkyという名前でUnityでゲームつくったりブログ書いたりしてます。Webアプリはほぼ初心者ですが、これから勉強して色々と役に立つアプリをつくっていきたいです。</p> <p>普段の仕事は電気系のハードウェア設計で、回路図書いたり基板設計したりしてます。</p> <p>技術記事から映画・本のレビュー、旅行記など書き殴っているカオスブログ↓<br /> <a target="_blank" rel="nofollow noopener" href="https://wakky.tech/">映画と旅行とエンジニア</a></p> <h2>参考にさせて頂いたサイト</h2> <p>タイマーの部分は、ほぼこちらと同じ内容を使わせて頂いてますm(_ _)m<br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/moriwm77/items/5d5430c80cfccd5fb397">Vue.js で タイマーのコンポーネントをつくる</a></p> <p>Push.jsの使い方はこちらを参考にさせて頂きました。<br /> <a target="_blank" rel="nofollow noopener" href="https://helloworld-blog.tech/javascript/手軽にpush通知を実装できるpush-jsをvue-jsで使ってみた">手軽にPush通知を実装できるPush.jsをVue.jsで使ってみた</a></p> Wakky tag:crieit.net,2005:PublicArticle/605d68fd436310f8c84c645c3aa8db10 2020-05-24T23:40:05+09:00 2020-05-25T12:44:54+09:00 https://crieit.net/boards/web1week-202005/605d68fd436310f8c84c645c3aa8db10 アプリ紹介画像をつくれる「アプリ画メーカー」をつくりました <p><a href="https://crieit.now.sh/upload_images/4b0a213950478ac447ba32d2909862f45ecaa0124489a.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4b0a213950478ac447ba32d2909862f45ecaa0124489a.png?mw=700" alt="ogp.png" /></a></p> <p>アプリ紹介画像をつくれる「アプリ画メーカー」をつくりました!<br /> <a target="_blank" rel="nofollow noopener" href="https://appgamaker.web.app">https://appgamaker.web.app</a></p> <p>この記事のトップ画像のようなアプリ紹介画像をつくるWebサービスです。<br /> 会員登録不要で、サーバー側に画像含めデータは送られないので、気軽に使ってみてほしいです!</p> <p>PCで開くとこんな感じです。 (モバイル対応もしていますので、是非<a target="_blank" rel="nofollow noopener" href="https://appgamaker.web.app">サイト</a>のほうにもアクセスしてください!)</p> <p><a href="https://crieit.now.sh/upload_images/7bc1ff659a507fbf0dc7ef1b8099e1a95ecaa01ed6718.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/7bc1ff659a507fbf0dc7ef1b8099e1a95ecaa01ed6718.png?mw=700" alt="site.png" /></a></p> <h3>お題(Like)との関連</h3> <p>個人でつくったWebサービスやアプリをリリースする際にTwitterに投稿する人が多いかと思いますが、そんな時できればたくさんリツイートやいいね(<strong>Like</strong>)が欲しいかと思います。僕はそうです。<br /> やはり拡散されてユーザーが増えたり、自分のモチベーションアップにも繋がりますからね。</p> <p>ということで、いい感じのデザインのアプリ紹介画像を手軽に作れれば、リツイートやいいねが貰いやすくなるかなと思い、このサービスをつくりました。</p> <h3>使い方</h3> <p>簡単な3STEPで画像の作成・保存ができます。</p> <ol> <li>アプリのスクリーンショットとメッセージを入力します</li> <li>好みの配置や色にカスタマイズします。様々な文字フォントが使えます!</li> <li>作成した画像を保存します</li> </ol> <h3>作り方</h3> <p>今回バックエンド(API呼び出しやストレージへの保存など)はなしで、フロントエンドだけで動くものになります。</p> <p>ホスティングにはFirebaseを使い、画面の実装はIonic(Angular), Konvaを使い、後はゴリゴリ書く感じです。</p> <h3>やりたかったこと</h3> <p>時間的な都合でできませんでしたが、以下のような機能もつくりたかったです。</p> <ul> <li>背景色の表現をもっと豊かにしたかった <ul> <li>グラデーションだったり、複数色だったり。</li> </ul></li> <li>複数のスクリーンショットを登録したかった <ul> <li>一枚の画像に複数のスクリーンショットを載せたほうが情報量が多く、閲覧者にサービスの意図がより伝わる場合があるため</li> </ul></li> <li>画像のぼかしをいれたかった</li> </ul> <h3>おわりに</h3> <p>ということで投稿時刻を見ていただいたら分かる通り、今回もギリギリ間に合いました。<br /> あんまり技術的な冒険をしなかったので、次は冒険したいなーと思ってます。</p> すずき | Takahiro Suzuki