Git Product home page Git Product logo

cutcats's Introduction

Cut Cats Accounting Software

Build status

A website that assists with payroll and invoice management for Cut Cats Courier. Built with NodeJS, Express, React, and MongoDB.

Local Development

  1. Install volta. This project manages its node version via a "volta" entry in package.json.
  2. Install Docker. Docker is used to run a local db during unit tests and optionally a local db for development.
  3. Run a local db:
docker-compose up -d
  1. Install dependencies:
npm install
  1. Run unit tests:
npm test
  1. Run the development server:
npm run dev
  1. Navigate to localhost:3001 in your browser.

Production Build

The production bundle is generated with Neutrino, which is a wrapper around Webpack. This project's .neutrinorc.js file contains the settings controlling how the site gets bundled for deployment. Run the build with the following command:

npm run build

Deployment

Automated Deployment

This project is deployed on Heroku. Commits to the develop and master branches cause automatic deploys to staging and production, respectively.

Manual Deployment

  1. Install the Heroku CLI
  2. Add a git remote that tracks the Heroku app:
# staging
heroku git:remote -a cutcats-staging
git remote rename heroku heroku-staging

# production
heroku git:remote -a cutcats-production
git remote rename heroku heroku-production
  1. Deploy e.g. the master branch:
# staging
git push heroku-staging master

# production
git push heroku-production master

Service Accounts

Here's a list of the accounts you'll need to access in order to administer the project.

Heroku

Heroku hosts the website and, via the mLab Heroku addon, the MongoDB database.

Access is granted to members of the Cut Cats "team" on Heroku. Create a personal account if you don't already have one, then ask Tyler to add you to the team.

Amazon Web Services

Payroll and invoice PDFs are stored in S3, and Lambda is used to generate those PDFs.

The AWS account belongs to Cut Cats and is managed by Tyler. Ask to have a user created for you.

Google

Users log in to the accounting site via google.

OAuth client IDs for local, staging, and production website deployments are managed via the Google Developer Console. For administrative access to the developer console, ask Tyler to add your google account to the Cut Cats project.

Cut Cats Google Developer Console

Addendum: PDF Service

This project's pdfService/ directory contains a standalone piece of software. It's an AWS Lambda function whose purpose is to generate PDFs. This supports the site's payroll and invoicing features, which require that tens or hundreds of PDFs be generated at once upon request.

For details on developing and deploying the PDF service, consult the readme in the pdfService/ directory.

cutcats's People

Contributors

tylerhsu avatar dependabot[bot] avatar

Watchers

James Cloos avatar

Forkers

robertgervais

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.