[RUBY] Personal app production diary

Today's stack ① Concept of personal application ② DB design

① Concept of personal application

■ Personal application name: Stasapo <= May be thrust

■ What kind of app is it? Matching app that allows users to immediately ask mentors what they don't understand

▶ How to do it When you want to ask a question, the user applies for a video call to the mentor according to the question format. Study each other through group chat. Equipped with user and mentor ratings. You can output your own learning.

▶ Background Nowadays, online learning is increasing due to the influence of coronavirus. I tend to be passive when learning only videos I can't hear what I want to do. I thought that one-on-one video chat would allow you to ask your favorite questions. Through learning at a certain school, I only listen to what I don't understand Impressed by the service you can listen to without hesitation.

▶ Benefits on the user side Don't worry about it, just ask what you don't understand. The video is organized and easy to understand, but it is difficult to solve the question on the spot. You can check while outputting how much you know. You can easily work at home. You can visualize your understanding through comments and evaluations, and your desire for approval is satisfied.

▶ Benefits from a mentor's perspective It can be done in the gap time. People who want to be involved in teaching can feel free to do it. (Just be there) You can teach only that person. The best output of communicating and teaching knowledge to someone.

▶ What you want to implement Answering video calls Comment function Login function (mentor / student) Evaluation function (mentor / student) Whether it is responsive Question form Asynchronous communication (video call, message) Today's stacked page (output)

■ Development environment rails 5.0.7.2 ruby 2.5.1 gem device

② DB design

users table Column Type Options name string null: false, unique: true email string null: false, unique: true password string null: false my-image string introduction text profile text subject string rate float Association has_many :groups_users has_many :groups, through: :user_groups has_many :messages has_many :tweets has_many :teaches groups table Column Type Options name string null: false, unique: true Association has_many :user_groups has_many :users, through: :user_groups has_many :messages user_groups table Column Type Options group_id integer null: false, foreign_key: true user_id integer null: false, foreign_key: true Association belongs_to :group belongs_to :user groupmessages table Column Type Options comment text null: false image string group_id integer null: false, foreign_key: true user_id integer null: false, foreign_key: true Association belongs_to :group belongs_to :user Tweets table Column Type Options title string null: false body text null: false image string user_id integer null: false, foreign_key: true Association belongs_to :user tweetmessages table Column Type Options comment text null: false image string tweet_id integer null: false, foreign_key: true user_id integer null: false, foreign_key: true Association belongs_to :tweet belongs_to :user teach table Column Type Options title string image string body text user_id integer null: false, foreign_key: true Association has_many :teach_tags has_many :tags, through: :teach_tags teach_tags table Column Type Options title string image string teach_id integer null: false, foreign_key: true tag_id integer null: false, foreign_key: true Association belongs_to : teach belongs_to :tag tegs table Column Type Options text string Association has_many :teach_tags has_many :teaches, through: :teach_tags

Recommended Posts

Personal app production diary
Personal application production diary 3
Chat app production
Personal application development diary # 2
Personal application development diary # 3
Android app personal development kickoff
Complete self-study IOS app development diary
Personal application production 2 Introduction of WEB fonts
TECH CAMP learning personal app ④ git ignore