[RUBY] Développement personnel passionnant avec Rails Partie 1: Essayez de concevoir des spécifications et une base de données

Je ferai du développement personnel

Dans l'article précédent, il est devenu possible d'utiliser Ruby pour construire un ensemble de logique. C'est pourquoi j'ai décidé de faire quelque chose avec Rails cette fois. Créons une sorte de service Web.

Rédiger une spécification approximative

Quoi qu'il en soit, j'avais besoin de quelque chose comme une spécification. Je veux clarifier ce que je veux faire. Ce que je veux faire, c'est ** "Waiwai Observation Diary" **. Je veux pouvoir partager le bilan de croissance des plantes à feuillage avec tout le monde. En attendant, j'aimerais pouvoir échanger diverses données en reliant les produits et les données IoT.

https://github.com/kyokucho1989/waiwai-kantatsu-nikki

#Journal d'observation de Wai Wai

##Qu'est-ce que c'est
Service Web pour partager un journal d'observation des plantes
(Limité aux plantes d'intérieur)

##Quels sont les bénéfices
Vous pouvez garder votre motivation pour grandir en partageant le dossier de cultivation.

##Hypothèse de l'utilisateur
-Les gens qui ont commencé à cultiver des plantes Saikin à la maison
-Les gens qui aiment les plantes à feuillage

##Monétiser
-Placement publicitaire (comme des graines de plantes?)
-Vente de pièces

##Comment augmenter le contenu
-Les utilisateurs initiaux publieront-ils discrètement sur le service content 0? → Non
-Le développeur lui-même publie petit à petit

##Fonctions à ajouter
###Bêta (minimum)
-Fonction de connexion
-Enregistrement des plantes
-Enregistrement de la température et de l'humidité

### ver 1.1
-Publication de photos (smartphone/À partir du PC)
-Fonction badge
Vous pouvez obtenir un badge en publiant tous les jours

-Publiez un commentaire sur votre propre dossier

### ver 1.2
-Publier un commentaire sur la fiche d'un autre utilisateur

### ver 2.0
-Transmission de données depuis un appareil IoT
Multi-unité GPS soracom

 https://soracom.jp/products/kit/gps_multiunit/

Il est important de commencer petit. Nous le publierons lorsque les fonctions minimales seront terminées, et faisons-le plus tard.

Conception DB

Cette fois, il est devenu nécessaire de concevoir une base de données. Nous devons résumer les types et la pertinence des données. Je ne suis pas sûr des détails, mais il semble bon de le faire d'abord.

https://github.com/kyokucho1989/waiwai-kantatsu-nikki/blob/master/db-design.md

J'ai décidé d'écrire des données que je n'avais pas encore prévu de mettre en œuvre. Alors ce sera sympa. L'important est la relation entre l'utilisateur et l'usine. Un utilisateur peut avoir plusieurs plantes. Les plantes ne peuvent pas être partagées entre les utilisateurs. (Ensuite, cela semble gênant)

Dans un tel cas, il semble qu'une association un-à-plusieurs soit effectuée. Après avoir créé le modèle, ajoutez-le à ʻuser.rb`` plant.rb dans ʻapp / models.

plant.rb

class Plant < ApplicationRecord
  belongs_to :user
end

user.rb

class User < ApplicationRecord
  has_many :plants
end

Je vais implémenter la fonction petit à petit

Lorsque j'ai commencé le développement personnel, j'ai réalisé que la gestion de la motivation semblait très difficile. La seule façon de passer à travers cela est de briser les objectifs et de progresser. J'ai décidé d'utiliser la fonction issue de github. Enregistrez les sentiments de "Je veux changer ici!" Et "Je veux faire autant!" Dans le numéro, et écrasez les problèmes un par un.

Je suis une créature oublieuse, alors j'aimerais la poster sur Qiita le plus souvent possible pour laisser des souvenirs de mon développement personnel.

Ensuite, j'écrirai sur l'implémentation de la fonction de connexion utilisateur et la création de ressources imbriquées.

github est là

https://github.com/kyokucho1989/waiwai-kantatsu-nikki

Recommended Posts

Développement personnel passionnant avec Rails Partie 1: Essayez de concevoir des spécifications et une base de données
[Rails] Développement avec MySQL
Essayez la connexion DB avec Java
Comparaison du développement d'applications WEB avec Rails et Java Servlet + JSP
[Note personnelle] Prise en compte de l’index Rails DB
[Copier et coller] Créez un environnement de développement Laravel avec Docker Compose, partie 2