0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

中学生にもわかる!音楽共有SNS「DailyBeat」の仕組み(前編)

Posted at

こんにちは!今日は、「DailyBeat」という音楽を共有するSNSについて、どんなふうに作られているのか、みんなにもわかりやすく説明していくね。

DailyBeatって何?

DailyBeatは、毎日1曲の音楽を友達と共有できるSNSだよ。例えば、こんなことができるんだ:

  • 今日聴いて気に入った曲を投稿する
  • 友達が投稿した曲を聴く
  • 好きな人をフォローして、その人の投稿をチェックする

音楽を通じて友達とつながることができる、そんなサービスなんだ。

DailyBeatの主な機能

  1. ユーザー登録とログイン
  2. 毎日の楽曲投稿
  3. みんなの投稿を見るタイムライン
  4. 友達をフォローする機能
  5. 投稿された曲を再生する機能

これらの機能がどんなふうに作られているのか、順番に見ていこう!

DailyBeatの作り方

1. 使っている技術

DailyBeatは、主に以下の技術を使って作られているよ:

  • Flask(フラスク):Webサイトを作るためのPythonのツール
  • SQLite:データを保存するための小さなデータベース
  • SQLAlchemy:データベースを簡単に使うためのツール
  • HTML, CSS, JavaScript:Webページを作って見た目を整えるための言語

では、それぞれの技術について、似たような技術と比べてみよう!

Webフレームワーク:Flask vs Django vs FastAPI

  • Flask

    • 良いところ:初心者でも使いやすく、必要な機能を簡単に追加できる
    • 悪いところ:大きなプロジェクトになると、自分で多くの設定をする必要がある
  • Django

    • 良いところ:多くの機能が最初から用意されている
    • 悪いところ:小さなプロジェクトには機能が多すぎて複雑になることがある
  • FastAPI

    • 良いところ:とても速く動作する
    • 悪いところ:まだ新しいので、参考になる情報が少ない

選んだ理由:Flaskは学習しやすく、必要な機能だけを追加できるので、DailyBeatのような中規模のプロジェクトにぴったりだと思ったんだ。

データベース:SQLite vs MySQL vs PostgreSQL

  • SQLite

    • 良いところ:設定が簡単で、1つのファイルにすべてのデータを保存できる
    • 悪いところ:同時にたくさんのユーザーが使うと遅くなることがある
  • MySQL

    • 良いところ:たくさんのユーザーが同時に使っても速く動作する
    • 悪いところ:設定が少し複雑
  • PostgreSQL

    • 良いところ:高度な機能がたくさんある
    • 悪いところ:小さなプロジェクトには機能が多すぎることがある

選んだ理由:SQLiteは設定が簡単で、小~中規模のWebサイトに適しているから選んだんだ。将来ユーザーが増えたら、MySQLやPostgreSQLに変更することもできるよ。

データベース操作ツール:SQLAlchemy vs 直接SQLを書く方法

  • SQLAlchemy

    • 良いところ:Pythonのコードでデータベースを簡単に操作できる
    • 悪いところ:少し覚えることが多い
  • 直接SQLを書く方法

    • 良いところ:データベースを細かく制御できる
    • 悪いところ:複雑なSQLを書くのが大変

選んだ理由:SQLAlchemyを使うと、データベースの操作を簡単に書けるし、コードも読みやすくなるから選んだんだ。

フロントエンド:HTML/CSS/JavaScript vs React vs Vue.js

  • HTML/CSS/JavaScript

    • 良いところ:基本的な技術で、多くのブラウザで動作する
    • 悪いところ:複雑な動きを付けるのが少し大変
  • React

    • 良いところ:複雑な動きのあるWebサイトを作りやすい
    • 悪いところ:学ぶのに時間がかかる
  • Vue.js

    • 良いところ:Reactよりも学びやすい
    • 悪いところ:Reactほど広く使われていない

選んだ理由:HTML/CSS/JavaScriptは基本的な技術で、学習資料がたくさんあるし、DailyBeatの機能を作るのに十分だったから選んだんだ。

IT用語解説

  • SNS(ソーシャル・ネットワーキング・サービス):インターネットを通じて人々がつながり、情報を共有するサービスのこと。LINEやInstagramなどが有名だね。

  • Flask:Pythonという簡単なプログラミング言語を使って、Webサイトを作るためのツール。初心者でも使いやすいように設計されているんだ。

  • データベース:たくさんの情報を整理して保存しておく場所のこと。図書館の本棚みたいなもので、必要な情報をすぐに取り出せるようになっているんだ。

  • SQLite:小さなデータベースのこと。1つのファイルにすべてのデータを保存できるから、初心者のプロジェクトに使いやすいんだ。

  • SQLAlchemy:データベースを使うときに、難しいコマンドを覚えなくても簡単に操作できるようにするツール。

  • HTML, CSS, JavaScript:Webページを作るための3つの言語だよ。

    • HTML:Webページの骨組みを作る
    • CSS:Webページを見た目よくする
    • JavaScript:Webページに動きをつける

次は、ユーザー登録とログイン機能について説明していくよ!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?