GitHub - дієта та трекер для вправ Steve-Perkinsfitnessjiffy-spring

У GitHub проживає понад 50 мільйонів розробників, які спільно працюють над розміщенням та переглядом коду, управління проектами та спільним створенням програмного забезпечення.

github

GitHub - це місце, де світ розробляє програмне забезпечення

Мільйони розробників та компаній створюють, постачають та підтримують своє програмне забезпечення на GitHub - найбільшій та найдосконалішій платформі розробки у світі.

Використовуйте Git або замовляйте з SVN, використовуючи веб-URL.

Працюйте швидко з нашим офіційним CLI. Вивчайте більше.

Запуск робочого столу GitHub

Якщо нічого не відбувається, завантажте GitHub Desktop і повторіть спробу.

Запуск робочого столу GitHub

Якщо нічого не відбувається, завантажте GitHub Desktop і повторіть спробу.

Запуск Xcode

Якщо нічого не відбувається, завантажте Xcode і повторіть спробу.

Запуск Visual Studio

Останній коміт

Git статистика

Файли

Не вдалося завантажити останню інформацію про коміти.

README.md

FitnessJiffy (версія Java/Spring Framework)

Вступ та тло

FitnessJiffy - це програма для відстеження дієти та фізичних вправ, а також формування графіків та звітів для інформації про стан здоров’я з часом. Хоча під поверхнею це справді інструмент для самонавчання та навчання. Протягом багатьох років я писав численні версії цього додатка, кожен раз, коли я хочу глибшого досвіду у вивченні нової мови програмування або фреймворку.

Ця версія базується на Java та Spring Framework. Хоча це давно є основними інструментами моєї професійної кар'єри, я написав цю версію програми як привід для вивчення Spring Boot. Я використав тут код і процес побудови як основу для тривалого допису в блозі про Spring Boot (http://steveperkins.com/use-spring-boot-next-project), на який було посилання з веб-сайту Spring і трохи намалювало уваги в цій громаді.

Якщо ви шукаєте надійний зразок програми, щоб розпочати роботу з Spring Boot, то ви потрапили в потрібне місце.

На додаток до Spring Boot, ця програма використовує такі технології, як:

  • Java 8
  • Весняний черевик
  • Spring Data JPA
  • Весняна безпека
  • MySQL (з H2 для модульного тестування)
  • Flyway
  • Анотації JSR-305
  • Шаблони чебрецю
  • Twitter Bootstrap
  • jQuery
  • amCharts (Бібліотека JavaScript для створення діаграм та звітів)
  • Градле
  • JUnit

Попередні технології, що використовувались на шляху

Якщо ви прокрутите історію комітів, ви побачите наступне:

  • Google Гуава
    • Більше не потрібно після переходу з Java 7 на Java 8
  • Joda-Time
    • Так само замінено стандартною бібліотекою Java 8
  • PostgreSQL
    • Я знаю, що PostgreSQL є багатофункціональнішим, ніж MySQL, і зараз є модним серед розробників. Однак мені потрібно було покращити своє практичне знайомство з MySQL завдяки деякій професійній роботі (функції розробника чи ні, MySQL здуває PostgreSQL коли справа стосується оперативної підтримки реплікації та масштабованості). Оскільки це невелика програма з відкритим кодом, широка доступність дешевого хостингу MySQL теж не зашкодить.
  • Apache Maven

Особливості застосування та скріншоти

(натисніть на мініатюру знімка екрана, щоб побачити його повний розмір)

Вхід та вихід із системи створено навколо Spring Security, з деякими спеціальними гачками обробки подій. У майбутньому я можу додати підтримку OpenID або OAuth, щоб дозволити користувачам пройти автентифікацію через наявний обліковий запис у певного провайдера (наприклад, Google, Yahoo тощо).

Що ще важливіше, у веб-програмі ще немає функції "Створити користувача". Користувачі повинні створюватися в базі даних вручну. Це відбувається не стільки через складність додавання сторінки "Створити користувача", скільки через те, що ви ще не готові відкрити для неї розміщену версію програми для загального користування.

Однак сценарії бази даних Flyway створюють для вас початкового тестового користувача з іменем користувача [email protected] та паролем пароля .

Користувачі можуть щодня відстежувати свою вагу, а в їх профілі відображатиметься їх поточний індекс маси тіла (ІМТ) та передбачувана кількість щоденних калорій, необхідних для підтримання їх поточної ваги:

Відстеження та редагування їжі, що вживається щодня:

Нещодавно з’їдена їжа (тобто протягом попередніх двох тижнів) з’являється у зручному випадаючому селекторі. Користувачі також можуть шукати продукти за назвою, повними або частковими:

База даних включає вбудований набір "глобальних" продуктів, які бачать усі користувачі, але не можуть бути змінені. Коли користувач модифікує "загальну" їжу або просто створює нову їжу з нуля, тоді їжа створюється в "приватному" наборі продуктів цього користувача. Це все прозоро для користувача.

База даних включає вичерпні дані про понад 800 вправ, взяті зі Збірника фізичних навантажень 2011 року. Використовуючи вагу користувача на дату виконання вправи, FitnessJiffy може підрахувати, скільки калорій було спалено цим користувачем.

Користувачі мають швидкий доступ до нещодавно виконуваних вправ (тобто протягом попередніх двох тижнів), можуть шукати вправи за повним або частковим ім'ям, а також можуть переглядати вправи за категоріями.

FitnessJiffy щодня зберігає зведення статистичних даних кожного користувача (наприклад, вага, спалені калорії тощо) для швидкого отримання у форматі JSON, щоб можна було відображати графіки та звітувати про дані, узагальнені на стороні клієнта. Щоразу, коли будь-які дані, що стосуються користувача, змінюються, FitnessJiffy планує фоновий потік для оновлення даних звіту цього користувача для відповідного діапазону даних. Цей потік планується запустити через п’ятиминутну затримку, щоб уникнути непотрібного дублювання, коли користувач вносить кілька змін протягом короткого періоду часу.

Про

Дієта і вправи трекер. надійний зразок програми Spring Boot