[RUBY] Spannende persönliche Entwicklung mit Rails Teil 1: Versuchen Sie, Spezifikationen und DB zu entwerfen

Ich werde mich persönlich weiterentwickeln

Im vorherigen Artikel wurde es möglich, mit Ruby eine Reihe von Logik zu erstellen. Deshalb habe ich mich dieses Mal entschlossen, etwas mit Rails zu machen. Lassen Sie uns eine Art Webdienst erstellen.

Schreiben Sie eine grobe Spezifikation

Jedenfalls brauchte ich so etwas wie eine Spezifikation. Ich möchte klarstellen, was ich tun möchte. Was ich machen möchte, ist ** "Waiwai Observation Diary" **. Ich möchte den Wachstumsrekord von Laubpflanzen mit allen teilen können. In der Zwischenzeit möchte ich in der Lage sein, verschiedene Daten durch Verknüpfung von IoT-Produkten und -Daten auszutauschen.

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

#Wai Wai Beobachtungstagebuch

##Was ist das
Web-Service zum Teilen eines Tagebuchs mit beobachtenden Pflanzen
(Beschränkt auf Zimmerpflanzen)

##Was sind die Vorteile
Sie können Ihre Motivation zum Wachsen behalten, indem Sie den Kultivierungsbericht teilen.

##Benutzerannahme
-Menschen, die zu Hause angefangen haben, Saikin-Pflanzen anzubauen
-Menschen, die Laubpflanzen mögen

##Geld verdienen
-Anzeigenplatzierung (z. B. Pflanzensamen?)
-Teileverkauf

##So erhöhen Sie den Inhalt
-Wird der Erstbenutzer leise Beiträge zum Content 0-Dienst veröffentlichen? → Nein
-Der Entwickler selbst postet nach und nach

##Funktionen, die hinzugefügt werden sollen
###Beta (Minimum)
-Anmeldefunktion
-Pflanzenregistrierung
-Aufzeichnung von Temperatur und Luftfeuchtigkeit

### ver 1.1
-Fotoposting (Smartphone/Vom PC)
-Abzeichenfunktion
Sie können ein Abzeichen erhalten, indem Sie jeden Tag etwas posten

-Schreiben Sie einen Kommentar in Ihren eigenen Datensatz

### ver 1.2
-Schreiben Sie einen Kommentar in den Datensatz eines anderen Benutzers

### ver 2.0
-Datenübertragung vom IoT-Gerät
Soracom GPS Multi-Unit

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

Es ist wichtig, klein anzufangen. Wir werden es veröffentlichen, wenn die Mindestfunktionen abgeschlossen sind, und wir werden es später tun.

DB Design

Dieses Mal wurde es notwendig, eine DB zu entwerfen. Wir müssen die Art und Relevanz der Daten zusammenfassen. Ich bin mir über die Details nicht sicher, aber es scheint gut, es zuerst zu tun.

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

Ich habe beschlossen, einige Daten zu schreiben, deren Implementierung ich noch nicht geplant habe. Dann wird es schön. Wichtig ist die Beziehung zwischen Benutzer und Anlage. Ein Benutzer kann mehrere Pflanzen haben. Pflanzen können nicht zwischen Benutzern geteilt werden. (Dann scheint es lästig zu sein)

In einem solchen Fall scheint eine Eins-zu-Viele-Assoziation durchgeführt zu werden. Fügen Sie das Modell nach dem Erstellen zu user.rb`` plant.rb in app / models hinzu.

plant.rb

class Plant < ApplicationRecord
  belongs_to :user
end

user.rb

class User < ApplicationRecord
  has_many :plants
end

Ich werde die Funktion nach und nach implementieren

Als ich anfing, mich persönlich weiterzuentwickeln, stellte ich fest, dass das Motivationsmanagement sehr schwierig zu sein schien. Der einzige Weg, dies zu überwinden, besteht darin, die Ziele aufzubrechen und zu steigern. Ich habe mich für die Issue-Funktion von Github entschieden. Notieren Sie die Gefühle von "Ich möchte mich hier ändern!" Und "Ich möchte so viel tun!" In der Ausgabe und zerstören Sie die Ausgaben nacheinander.

Ich bin eine vergessliche Kreatur, deshalb möchte ich sie so oft wie möglich an Qiita senden, um Erinnerungen an meine persönliche Entwicklung zu hinterlassen.

Als nächstes werde ich über die Implementierung der Benutzeranmeldefunktion und die Erstellung verschachtelter Ressourcen schreiben.

Github ist da

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

Recommended Posts

Spannende persönliche Entwicklung mit Rails Teil 1: Versuchen Sie, Spezifikationen und DB zu entwerfen
[Rails] Entwicklung mit MySQL
Versuchen Sie eine DB-Verbindung mit Java
Vergleich der WEB-Anwendungsentwicklung mit Rails und Java Servlet + JSP
[Persönliche Anmerkung] Berücksichtigung des Rails DB-Index
[Kopieren und Einfügen] Erstellen Sie mit Docker Compose Part 2 eine Laravel-Entwicklungsumgebung