Skip to content

mgiridhar/pomodoro_web

Repository files navigation

Pomodoro Web-app

GitHub license Build Status

Pomodoro time management web-app => Live Demo

This is a simple front end web application build using ReactJS that helps users manage their time using the famous Pomodoro Technique.

This project uses Travis CI for testing and deployment. The live demo of the app is hosted on Heroku platform.

Getting Started

Prerequisites

Install Node and NPM

Node is easy to install and comes with npm (node package manager).

OS X
brew install node
Linux

For Debian, Ubuntu distros,

sudo apt-get install nodejs npm

For RHEL, CentOS distros,

yum install nodejs npm
Windows

Go to official Node.js website and grab the installer. Also, be sure to have git available in your PATH, npm might need it.

Check Node and NPM versions

After installation, the node and npm versions can be checked using the below commands.

node --version
npm --version

Installing the App

Clone the repository and go to the project directory. Then install the required packages using npm.

git clone https://github.com/mgiridhar/pomodoro_web.git
cd pomodoro_web
npm install

Running the Tests

Unit tests and Integration tests for this ReactJS app are written using Jest, Enzyme, and Sinon. Run the following command to check if the current tests are passing for the app.

npm test

Running the App

To run the app locally, use the following command. This starts the app and can be viewed at http://localhost:3000/

npm start

Simple build for Production

To create a production build for the app run the below command.

npm run build

Tools Used

  • ReactJS - A JavaScript library for building user interfaces.
  • Enzyme - JavaScript Testing utility for React.
  • Sinon - Standalone test spies, stubs and mocks for JavaScript.
  • Jest - JavaScript Testing.
  • Node - JavaScript runtime built on Chrome's V8 JavaScript engine.
  • Travis CI - For Testing and Deployment.
  • Heroku - Cloud platform to build, deliver, monitor and scale apps.

License

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