Giter Site home page Giter Site logo

sarahmorrisokeefe / pup-tracker Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 1.15 MB

NSS Back-end Capstone - A web app using Node and AngularJS to keep track of your new puppy!

JavaScript 61.89% CSS 15.69% HTML 22.42%
nodejs angularjs full-stack capstone school-project sequelize expressjs nashvillesoftwareschool

pup-tracker's Introduction

Back End Capstone: Pup Tracker

This is my back-end capstone project for Nashville Software School. The app allows the user to login and create pet profiles for each of their pets, and keep track of data like how much food he or she ate, when he or she went to the vet, and how much he or she weighs. In addition to that, you can create a pet profile and have a different user add it to her or her household to see/add events to the pet timeline.

Getting Started

First, you'll need to clone the project to your machine:

$ git clone https://github.com/sarahmorris926/Pup-Tracker.git

Next, need to install the dependencies included in the package.json file.

npm install

In addition, you'll have to install node and sass (which were installed globally on my machine):

npm install node sass

Next, you'll find a .env.example file in the root of this project. Create a .env file and add the correct contents:

PORT=<port number>
NODE_ENV="<development or testing etc>"

My project was done with PORT 3000 so my examples will use localhost:3000/ as the URL.

Using

First, click either "Login" or "Register" in order to get started

You can see all the pets in your household that you either (a) own, or (b) are currently taking care of for a friend or client. From here, you can go to view All Pets if you need to add a pre-existing pet profile to your household, or select an active pet.

Once you select an activce pets from the "My Pets" page, you can see his or her timeline. This will show any events you've added, in order of the date it happened. If you add something from the past, it will show up from the date of event (not the date you added it). You can add a new event to the timeline from here, or see details about each event. This is most useful when you're trying to update all pet owners/caretakers on something that happened that everyone needs to be aware of.

Built With

  • AngularJS - Used for the client-side of this project
  • NodeJS - Used for building the server-side of this project
  • Sequelize - ORM used for SQL, access to the PostgreSQL database
  • PostgreSQL - Database relational system, used for accessing and housing the database
  • Passport - Used for user authentication and maintaining an authorized state
  • Bootstrap - Used for styling the elements on the app

License

This project is licensed under the MIT License - see the LICENSE.md file for details

pup-tracker's People

Contributors

sarahmorrisokeefe avatar

Stargazers

 avatar

pup-tracker's Issues

User can login

Given the user is not authenticated
When the user goes to the home page
Then the user will be prompted to login to view pets

Given the user is authenticated
When the user is on the home page (after login)
Then the user will see their pets

Edit a pet

Given the user wants to edit general pet profile info,
When the user is logged in as an owner and
When the user clicks on the edit button on the puppy profile,
Then the user will be taken to a form that has all of the current information still in it

Add pet event

Given the user wants to add something that has happened to their puppy,
When the user clicks on "Add event"
Then the user will be able to add details regarding their pet event.

User can view a timeline

Given the user wants to view the events that have happened for one pet,
When the user clicks on an edit button below the event,
Then a new view will come up with a form that has pre-filled information that was already there, and the ability to change it and hit "save"

Create the Mock-up

Need to create a mock-up of the project to see what all the user can/cannot do, and what kinds of templates will be needed.

Add event type

Given the user wants to add a new event type that is not currently listed,
When the user clicks "add new category" at the bottom of the drop down menu,
Then a text box will appear next to the drop down menu and allow the user to type their own event type.

Share a pet with another user

Given the user has a pet and is on the "edit pet" page,
When the user clicks on "add a caretaker" button,
Then a new view will render that has a form for a new caretaker

Add a pet

Given the user wants to add a new pet to use the app,
When the user clicks the plus sign button on the home page,
Then the user will be taken to an "Add pet" template where he or she can put in all information regarding their new pet

Delete a pet

Given the user wants to delete a pet profile completely
When the user is logged in as an owner and
When the user clicks the red delete button at the bottom of the profile
Then the pet profile will be deleted from the view and database, and user will be taken back to the home page with all pets left

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.