Skip to content
This repository has been archived by the owner on Oct 18, 2019. It is now read-only.

azdanov/voting-app-node

Repository files navigation

Voting App Node

Greenkeeper badge Build Status Cypress.io tests code style: prettier made with: bulma

Website Screenshot

A voting app full stack project for freeCodeCamp

Made with the help of typescript, express.js, mongodb, mongoose and chart.js. For full list of dependencies check out package.json.

For demo purposes https://ethereal.email/ is used for password requests.

Install

  1. Run cp .env.example .env inside project directory.
  2. Adjust settings for your own environment inside .env

Docker

Docker is used for managing MongoDB on local machine for development.

  • docker-compose up -d to start in detached mode.
  • docker ps to show running containers.
  • docker-compose stop to stop all the services.
  • docker-compose down --rmi local --volumes to remove all created docker assets for this project.

Scripts

I used pnpm for this project. Any other package manager will work.

Building

  • pnpm run build for production (using parcel-bundler)
  • pnpm run ci for ci environments or as a backup build system (using rollup / node-sass)
  • pnpm run develop for development (using ts-node)

Testing

  • pnpm run test:e2e:open for end-to-end testing with cypress (make sure the app is accessible on localhost)
  • pnpm run test for jest unit tests

Database

  • pnpm run db:seed for seeding database with mock data
  • pnpm run db:reset for deleting test database