This is a progressive web app used to control the Particle Photon treat dispenser in this repo. The treat dispenser dispenses treats based off of input from a progressive web app, time intervals, and or feeding schedule. The dispenser, itself, is based loosely off of this model.
This is a major overhaul of my old Treat Dispenser repo.
- MEAN - MongoDB, Express, Angular 6, Node.js
- Mongoose
- jsonwebtoken and angular-jwt
- Uses Node.js/Express/MongoDB back end instead of deprecated Auth0 or Basic Authentication
- Works in Chrome, Edge, and IE (despite using CSS Grid and a lot of things IE hates)
- Completely self-hosted and solid greenlock SSL
- Added lots of additional scheduling settings
- Much better and more streamlined functions dealing with time
- Time-picker works much better than previous
- Animations
- More "advanced" JavaScript usage (Observables/rxjs, template strings, ternaries, switches, arrow functions, etc)
- SASS instead of plain CSS
You can view additional details for the website and Photon (hardware) found in the READMEs here:
git clone https://github.com/mdrichardson/treat-dispenser-new
cd treat-dispenser
npm install
ng serve
Install MongoDB, then:
cd ./server
npm install
node server
- Flash the .ino file to the Photon
- Wire the photon in accordance with this diagram
- Plug it in
- Be sure to set your Device ID and Access Key in MongoDB