A fork of babybuddy so that I can build a tracker for my grown-ass self.
Go to file
Isaac Bythewood bf62a4e252 Add ability to upload picture of child with thumbnailing capabilities. 2017-11-18 04:22:12 -05:00
.ebextensions Add Amazon EB config files. 2017-11-16 14:21:43 -05:00
api Add weight tracking. 2017-11-09 21:15:09 -05:00
babybuddy Add ability to upload picture of child with thumbnailing capabilities. 2017-11-18 04:22:12 -05:00
core Add ability to upload picture of child with thumbnailing capabilities. 2017-11-18 04:22:12 -05:00
dashboard Add Settings model extending User. 2017-11-12 12:09:54 -05:00
etc Add nanobox config files. 2017-11-13 16:21:33 -05:00
gulpfile.js Add ability to upload picture of child with thumbnailing capabilities. 2017-11-18 04:22:12 -05:00
reports Add simple weight report. 2017-11-10 07:20:34 -05:00
.coveragerc Add separate coverage config file. 2017-11-11 17:02:47 -05:00
.gitignore Add ability to upload picture of child with thumbnailing capabilities. 2017-11-18 04:22:12 -05:00
.travis.yml Refactor gulp commands and travis config for whitenoise integration. 2017-10-23 13:50:20 -04:00
LICENSE Add LICENSE and README. 2017-10-22 16:00:29 -04:00
Pipfile Add ability to upload picture of child with thumbnailing capabilities. 2017-11-18 04:22:12 -05:00
Pipfile.lock Add psycopg2 requirement for Postgres functionality. 2017-10-23 09:06:17 -04:00
Procfile Add Heroku Procfile. 2017-10-23 04:37:23 -04:00
README.md Add Amazon EB deployment instructions to the README. 2017-11-16 14:24:27 -05:00
app.json Shorten app.json description to meet below 140 characters requirement. 2017-10-23 20:24:53 -04:00
boxfile.yml Change nanobox config to work without requirements.txt. 2017-11-15 12:38:08 -05:00
manage.py Set default settings file in manage.py and wsgi.py. 2017-10-22 16:19:59 -04:00
package-lock.json Add nanobox config files. 2017-11-13 16:21:33 -05:00
package.json Improve Dashboard view. 2017-11-06 16:24:21 -05:00
screenshot.png Update screenshot and add mobile screenshots. 2017-10-27 23:20:52 -04:00
screenshot_mobile.png Update screenshot and add mobile screenshots. 2017-10-27 23:20:52 -04:00

README.md

Baby Buddy

Build Status Coverage Status License

A buddy for babies! Helps caregivers track sleep, feedings, diaper changes, and tummy time to learn about and predict baby's needs without (as much) guess work.

Baby Buddy desktop view

Baby Buddy mobile views

Table of Contents

Demo

A demo of Baby Buddy is available on Heroku. The demo instance resets every hour. Login credentials are:

  • Username: admin
  • Password: admin

Deployment

⚠️ Baby Buddy is still in early development and does not yet have a stable production deployment flow. ⚠️

The default user name and password for Baby Buddy is admin/admin. For any deployment, log in and change the default password immediately.

AWS Elastic Beanstalk

A basic Elastic Beanstalk configuration is provided in .ebextensions\babybuddy.config. The steps below are a rough guide to deployment. See Working with Python for detailed information.

  1. Clone/download the Baby Buddy repo

     git clone https://github.com/cdubz/babybuddy.git
    
  2. Enter the cloned/downloaded directory

     cd babybuddy
    
  3. Change the SECREY_KEY value to something random in .ebextensions\babybuddy.config

  4. Create an IAM user in AWS with EB, EC2, RDS and S3 privileges.

  5. Initialize the Elastic Bean application (using the IAM user from the previous step)

     eb init
    
  6. Create/deploy the environment! 🚀

     eb create -db -db.engine postgres
    

The create command will also do an initial deployment. Run eb deploy to redeploy the app (e.g. if there are errors or settings are changed).

Nanobox

An example Nanobox configuration, boxfile.yml, is provided with Baby Buddy. The steps below are a rough guide to deployment. See Create and Deploy a Custom Django App for detailed information about Nanobox's deployment and configuration process.

  1. Clone/download the Baby Buddy repo

     git clone https://github.com/cdubz/babybuddy.git
    
  2. Enter the cloned/downloaded directory

     cd babybuddy
    
  3. Add the SECREY_KEY and DJANGO_SETTINGS_MODULE environment variables

     nanobox evar add DJANGO_SETTINGS_MODULE=babybuddy.settings.nanobox
     nanobox evar add SECRET_KEY=<CHANGE TO SOMETHING RANDOM>
    
  4. Deploy! 🚀

     nanobox deploy
    

Heroku

Deploy

For manual deployments to Heroku without using the deploy button, make sure to create two settings before pushing using heroku config:set:

heroku config:set DJANGO_SETTINGS_MODULE=babybuddy.settings.heroku
heroku config:set SECRET_KEY=<CHANGE TO SOMETHING RANDOM>

Development

Installation

pip install pipenv
pipenv install --dev
npm install -g gulp-cli
npm install
gulp migrate
gulp

Open http://127.0.0.1:8000 and log in with the default user name and password (admin/admin).

Fake data

Add some fake data to the database with the following command:

gulp fake

By default, fake creates one child and 31 days of random data. Use the --children and --days flags to change the default values, e.g. gulp fake --children 5 --days 7 to generate five fake children and seven days of data for each.

Testing

Tests require static files to be collected, it may be necessary to execute gulp build && gulp collectstatic before tests (if static files have changed).

gulp test