Open18

【備忘録】技育CAMP vol.1

ピン留めされたアイテム
oidon.oidon.

今回は「はきだめ」に決めた

  • アイデアを「掃き溜める」ところが欲しかったから
    • 自分がこれから使える
  • シンプルなcrud+αがちょうどいいレベル
    • タグ機能をつけるくらいがちょうどいい

仕様

  • SPメイン
    • PCも画面幅400~600くらいで中央に
  • 後々Idea投稿SNSみたいな感じにできたらいいな
    • 認証
    • スレッド
oidon.oidon.

  1. いろんな時間
  2. シフト調整ツール
  3. Todo + α
  4. ブログ
  5. 掲示板
  6. 日報
  7. LINEのやり取りだけでwebサイト構築
  8. "はきだめ"

やりたいこと

  1. crud
  2. バックエンド
oidon.oidon.

いろんな時間

  • みんながいろんな時間を追加して使える

    • カップヌードルの時間
    • 温泉卵の時間
  • 時間のパターン

    • タイマー
    • カウントダウン
  • 基本的なタイマーも備える

oidon.oidon.

スケジュール管理ツール

  • 通常のスケジュール管理ツール(調整くんなど)に加えて、管理者がメンバーにフィルターを掛けて管理のしやすくする
  • 管理画面とユーザー画面
    • ユーザー画面
      • フォーム
      • 個人を特定
      • uiはテーブル?
    • 管理画面
      • フォーム作成
        • 日程・時間・所属・条件など指定
        • urlで共有できるように
      • シフト作成
        • フォームの回答内容を見ながら埋める
        • 所属などでフィルターを掛け、使いやすく
  • 出力
    • excel, spreadsheetなど
    • webページで共有(パスワード付き)
oidon.oidon.

はきだめ

  • そのまま「掃き溜め」
  • ちょっと思いついたことを書き留める場所
  • タグ機能などで後から整理できる
oidon.oidon.

技術選定

  • 前提

    • 無料でデプロイ・運用できること
      • frontはvercel, backはrender, dbはpscale
    • crud
    • できるだけ新しい技術使いたいな
  • front

    • 甘え
      • React
    • 挑戦
      • Vue
      • Angular
      • Svelte
  • back:rest apiつくる

    • python
      • fastapi
        • 一番早いか
      • flask
        • ちょっとだけさわた
    • java
      • だいぶ挑戦
      • 触れたこと無い
    • php
      • laravel
        • ちょっとだけさわた
    • Go
  • style

    • tailwind
      • スタイルに時間を掛けない
      • 使ったこと無い

候補1

  1. React
  2. fastAPI

候補2

  1. Vue
  2. fastAPI

候補3

  1. React
  2. flask or laravel or Go

候補4

  1. React
  2. Django

候補5

  1. Django only
oidon.oidon.

候補4かな

理由

  • 今回学びたいことのメインは「crud」
  • フロントの挑戦はメインではない→React
  • django
    • 後々認証機能など拡張するつもりなので
    • 一度挑戦して挫折した過去がある→リベンジ
oidon.oidon.

まって

planetscaleを使うなら
next.jsはprismaでいけるしdjangoオンリーでいけるじゃん

awsのほうがdb扱うならいいのか...?

oidon.oidon.

とりあえずDjangoで一通り組んで、時間あればfront作ろう

oidon.oidon.

djangoをrenderでデプロイ

起動コマンドを mysite/manage.pyに変更し、 --noreloadをつける

oidon.oidon.

django.db.utils.OperationalError: (2026, 'SSL connection error : Error while reading file.')

sslがうまく行っていないみたい

oidon.oidon.

ModuleNotFoundError: No module named 'mysite.settings'

該当ファイル

  • mysite.asgi.py
  • mysite.wsgi.py

追加

import sys

sys.path.append(os.path.dirname(os.path.abspath('__file__')))
print(sys.path)

変更

- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.mysite.settings')
oidon.oidon.

ModuleNotFoundError: No module named 'mysite.wsgi:application'

該当ファイル

  • render.yaml

変更

- startCommand: "gunicorn mysite.wsgi:application"
+ startCommand: "gunicorn mysite.mysite.wsgi:application"