GitHub găzduiește peste 50 de milioane de dezvoltatori care lucrează împreună pentru a găzdui și a revizui codul, pentru a gestiona proiecte și pentru a construi software împreună.

dietă

GitHub este locul în care lumea construiește software

Milioane de dezvoltatori și companii își construiesc, livrează și își întrețin software-ul pe GitHub - cea mai mare și mai avansată platformă de dezvoltare din lume.

Utilizați Git sau verificați cu SVN folosind URL-ul web.

Lucrați rapid cu CLI-ul nostru oficial. Află mai multe.

Lansarea GitHub Desktop

Dacă nu se întâmplă nimic, descărcați GitHub Desktop și încercați din nou.

Lansarea GitHub Desktop

Dacă nu se întâmplă nimic, descărcați GitHub Desktop și încercați din nou.

Lansarea Xcode

Dacă nu se întâmplă nimic, descărcați Xcode și încercați din nou.

Lansarea Visual Studio

Ultimul commit

Statistici Git

Dosare

Nu s-au putut încărca cele mai recente informații de comitere.

README.md

FitnessJiffy (versiunea Java/Spring Framework)

Introducere și fundal

FitnessJiffy este o aplicație pentru urmărirea dietei și exercițiilor fizice și generarea de diagrame și rapoarte pentru informații despre sănătate în timp. Totuși, sub suprafață, este într-adevăr un instrument de auto-învățare și predare. Am scris numeroase versiuni ale acestei aplicații de-a lungul anilor, de fiecare dată când doresc o experiență mai profundă în învățarea unui nou limbaj de programare sau cadru.

Această versiune se bazează pe Java și Spring Framework. Deși acestea au fost mult timp instrumentele principale în cariera mea profesională, am scris această versiune a aplicației ca o scuză pentru a explora Spring Boot. Am folosit codul și procesul de construire aici ca bază pentru o postare lungă pe blog pe Spring Boot (http://steveperkins.com/use-spring-boot-next-project), care a fost conectată de pe site-ul Spring și a desenat un pic de atenție în acea comunitate.

Dacă sunteți în căutarea unui exemplu de aplicație robust pentru a începe cu Spring Boot, atunci ați ajuns la locul potrivit.

Pe lângă Spring Boot, această aplicație folosește tehnologii, inclusiv:

  • Java 8
  • Cizma de primăvară
  • Spring Data JPA
  • Securitate de primăvară
  • MySQL (cu H2 pentru testarea unității)
  • Flyway
  • Adnotări JSR-305
  • Șabloane Thymeleaf
  • Twitter Bootstrap
  • jQuery
  • amCharts (O bibliotecă JavaScript pentru generarea de diagrame și rapoarte)
  • Gradle
  • JUnit

Tehnologii anterioare utilizate pe parcurs

Dacă parcurgeți istoricul de comitere, veți găsi următoarele:

  • Google Guava
    • Nu mai este necesar după trecerea de la Java 7 la Java 8
  • Joda-Time
    • De asemenea, înlocuit cu biblioteca standard Java 8
  • PostgreSQL
    • Știu că PostgreSQL este mai bogat în caracteristici decât MySQL și este la modă printre dezvoltatori chiar acum. Cu toate acestea, a trebuit să-mi îmbunătățesc familiarizarea practică cu MySQL datorită unor activități profesionale (caracteristici de dezvoltare sau nu, MySQL elimină PostgreSQL când vine vorba de suport pentru operațiuni pentru replicare și scalabilitate). Deoarece aceasta este o aplicație open source mică, nici disponibilitatea largă a găzduirii MySQL ieftine nu dăunează.
  • Apache Maven

Caracteristici ale aplicației și capturi de ecran

(faceți clic pe o miniatură de captură de ecran pentru a vedea dimensiunea sa completă)

Conectarea și deconectarea sunt construite în jurul Spring Security, cu câteva cârlige personalizate de gestionare a evenimentelor. În viitor, aș putea adăuga asistență OpenID sau OAuth, pentru a permite utilizatorilor să se autentifice printr-un cont existent la un furnizor (de exemplu, Google, Yahoo etc.).

Mai important, nu există încă o funcție „Creați utilizator” în aplicația web. Utilizatorii trebuie creați manual în baza de date. Acest lucru nu se datorează atât complexității adăugării unei pagini „Creați utilizator”, cât mai degrabă datorită faptului că nu sunteți încă pregătit să deschideți o versiune găzduită a aplicației pentru uz public.

Cu toate acestea, scripturile bazei de date Flyway creează un utilizator de testare inițială pentru dvs., cu numele de utilizator [email protected] și parola de parolă .

Utilizatorii își pot urmări greutatea zilnic, iar profilul lor va indica indicele de masă corporală (IMC) actual și numărul estimat de calorii zilnice necesare pentru a-și menține greutatea actuală:

Urmărirea și editarea alimentelor consumate în fiecare zi:

Alimentele consumate recent (adică în ultimele două săptămâni) apar într-un selector derulant convenabil. Utilizatorii pot căuta și alimente după nume, complet sau parțial:

Baza de date include un set încorporat de alimente „globale”, care sunt vizibile pentru toți utilizatorii, dar nu pot fi modificate. Când un utilizator modifică un aliment „global” sau pur și simplu creează un aliment nou de la zero, atunci un aliment este creat în setul de alimente „privat” al utilizatorului respectiv. Toate acestea sunt transparente pentru utilizator.

Baza de date include date cuprinzătoare despre peste 800 de exerciții, preluate din Compendiul de activități fizice din 2011. Utilizând greutatea utilizatorului la data la care a fost efectuat un exercițiu, FitnessJiffy poate calcula câte calorii au fost arse de acel utilizator.

Utilizatorii au acces rapid la exercițiile efectuate recent (adică în ultimele două săptămâni), pot căuta exerciții după nume complet sau parțial și pot răsfoi exerciții după categorie.

FitnessJiffy stochează pentru fiecare zi un rezumat al statisticilor fiecărui utilizator (de exemplu, greutatea, caloriile arse etc.), pentru regăsirea rapidă ca JSON, astfel încât să poată fi redate diagrame și să se poată rezuma datele din partea clientului. Ori de câte ori se modifică orice date referitoare la un utilizator, FitnessJiffy planifică un fir de fundal pentru a actualiza datele raportului acelui utilizator pentru intervalul de date afectat. Acest fir este programat să ruleze după o întârziere de cinci minute, pentru a evita duplicarea inutilă atunci când utilizatorul efectuează mai multe modificări într-o perioadă scurtă de timp.

Despre

Urmărire dietă și exerciții. o aplicație robustă de eșantion Spring Boot