Skip to content
Another chance is a Full Stack Application for Veterinarians to store, manage and search for animal blood donors. Built with React, Redux, Node
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client
config
models
nginx
public
routes
test
.DS_Store
.babelrc
.coveralls.yml
.eslintrc
.gitignore
.travis.yml
Dockerfile
LICENSE
README.md
docker-compose.yml
package-lock.json
package.json
server.js
webpack.config.js

README.md

Another-chance

Build Status Coverage Status tested with jest dependencies Status devDependencies Status License: MIT

Another chance is an application for Veterinarians to store and manage animal blood donors.

Still under development

Deployed beta version URL - http://www.colitasporlavida.com/

Man hours spent - https://wakatime.com/project/another-chance

Software Development Life Cycle

  • Client requirement gathering & analysis
  • Software design & Technology stack
  • Coding & Implementation (80% Functionality & 70% Styling completed)
  • Testing (In progress)
  • Deployment (beta version)
  • Maintenance

User Stories

As a Veterinarian,

  • I want access to an animal blood donor database that I can quickly query records by animal type, location, breed, and blood type.
  • I want to be able to create, edit, and retrieve animal records.
  • I want to view all existing animal records.
  • I want to view profiles of other Veterinarians in case I need to contact them

As an Administrative User,

  • I want to create, edit, retrieve and delete User accounts.
  • I want to view how many Users are in the database.
  • I want to view how many Animals are in the database.
  • I want a secure database with Authentication to prevent unauthorized users.
  • I want to view profiles of other Veterinarians in case I need to contact them.
  • I want to ensure only approved Users may create accounts by giving them a secret signup password.

As a Developer,

  • I want to gain a sense of purpose and make my heart feel all warm and fuzzy by using my skills to perform altruistic work.
  • I want to develop and ship software features utilizing AGILE methodology by shipping features in short sprints to align with my client's changing needs.
  • I want to write clean, semantic, readable code with comments so that other users may contribute, maintain, and add additional features.

Technical Information

Access levels

Admins - Full CRUD (create, read, update, delete) access to ALL records and Users.

Users - Veterinarians and staff will be able to search, create, and update animal records. Users may delete records they created, but cannot delete records from other Vets. Users can also edit their own profile information.

Authorization

Only authorized users may login and view the animal donor database. Authorization is handled through Passport.JS. A JSON Web Token is issued to each user upon new account, and upon login the token is verified with the database.

JSON Examples

User account schema

firstName : Glen,
lastName : Pham,
email : glen@glen.com,
company : Philanthropist Coders,
position : Web Developer,
phoneNumber : 111-111-1111

Animal donor schema

Bloodtype will correlate to type of animal (cat or dog).

name: molly,
type: dog,
breed: pomeranian,
weight: 2kg,
age: 15 months,
bloodType: DEA 1.1,
contactName: Maria Lee,
contactNumber: 111-111-1111,
contactEmail: MariaLee@gmail.com
vetName: Mrs. Lee,
location: Puerto Rico,
photo: cutest_dog.jpg,
createdBy: (this field is automatically populated by the corresponding User)

Installation Instructions

You need two instances of terminal open. One will run the server, the other will run the client build.

git clone https://github.com/glenrage/another-chance.git
cd another-chance

Server setup

After you clone, open the first terminal window and run the following

cd server
npm i
npm run dev

Nodemon will launch the server to http://localhost:3000

Client setup

In your other terminal window run the following commands

cd client
npm i
npm run start

Webpack will create a build, then open your browser to http://localhost:3001

Technology Stacks

alt text

Server side

  • Node
  • Express
  • MongoDB
  • Passport

Client side

  • React
  • Redux
  • Webpack
  • Babel
  • Superagent

Continuous Integration

  • Travis

Testing Suite

  • Mocha & Chai (Server side)
  • Jest (Client side)

Credits

ForTheBadge built-with-love

Built by Glen Pham and his dog Molly

alt text

You can’t perform that action at this time.