Skip to content

brookse/backyardbarber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

backyardbarber

The web application of Backyard Barber which lets users schedule/begin/end mowings, map out yards, and see the status of their mower.

To Install and Run

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.

Technologies Used

Mongo DB --> Database
Express.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

API

User

Register

URL: `/user/register`
BODY: ``` { username: username, nickname: nickname, zipcode: zipcode, password: password } ```

Login

URL: `/user/login`
BODY: ``` { username: username, password: password } ```

Logout

URL: `/user/logout`
BODY: none

Obstacles

Get

URL: `/obstacles`
BODY: none

Post

URL: `/obstacles`
BODY: ``` { name: name, description: description, length: length, width: width, units: units } ```

Delete

URL: `/obstacles/:id`
BODY: none

Yard

Get

URL: `/yard`
BODY: none

Post

URL: `/yard`
BODY: ``` { length: length, width: width, units: units, obstacles: obstacles } ```

Delete

URL: `/yard/:id`
BODY: none

Schedules

Get

URL: `/schedules`
BODY: none

Post

URL: `/schedules`
BODY: ``` { days: days, time: time } ```

Delete

URL: `/schedules/:id`
BODY: none

Forecast

Get

URL: `/forecast?longitude=longitude&latitude=latitude`
BODY: none

About

The software side of the Senior Design project for Backyard Barber

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors