The web application of Backyard Barber which lets users schedule/begin/end mowings, map out yards, and see the status of their mower.
Clone repository and install dependencies: ``` npm install bower install ```Ensure that libzmq and ZeroMQ are installed
To run:
Open database: mongod
If you get an error with mongo only allowing one instance of each type, open mongo shell and drop indexes on everything except user table. eg:
> db
database-name
> use database-name
switched to db database-name
> db.getCollectionNames()
[ "obstacles", "schedules", "users", "yards" ]
> db.obstacles.dropIndexes()
> db.schedules.dropIndexes()
> db.yards.dropIndexes()
Finally:
npm start
To use: You must register a new user before you can log in.
Mongo DB --> DatabaseExpress.js --> Web Framework
Angular.js --> Front-end Framework
Node.js --> Back-end Platform
Mongoose.js --> Object Relational Mapping
JWT-Simple --> Session Handling
JSON-API Serializer --> Serialization of Data
Node Password Hash --> Password Hashing
Socket.io --> Communication Between Application and Mower
Bluebird --> Promises
Password-Hash --> Password Hashing
URL: `/user/register`
BODY: ``` { username: username, nickname: nickname, zipcode: zipcode, password: password } ``` URL: `/user/login`
BODY: ``` { username: username, password: password } ``` URL: `/user/logout`
BODY: none
URL: `/obstacles`
BODY: none
URL: `/obstacles`
BODY: ``` { name: name, description: description, length: length, width: width, units: units } ``` URL: `/obstacles/:id`
BODY: none
URL: `/yard`
BODY: none
URL: `/yard`
BODY: ``` { length: length, width: width, units: units, obstacles: obstacles } ``` URL: `/yard/:id`
BODY: none
URL: `/schedules`
BODY: none
URL: `/schedules`
BODY: ``` { days: days, time: time } ``` URL: `/schedules/:id`
BODY: none
URL: `/forecast?longitude=longitude&latitude=latitude`
BODY: none