beneckimateusz / pomodoro

Manage your time properly with a simple pomodoro technique helper.

Home Page:https://mbenecki-pomodoro.herokuapp.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pomodoro

Pomodoro technique helper
Manage your time properly with a simple web application

GitHub Code style
Built with ☕ by Mateusz Benecki


Table of contents

Tech stack

  • Frontend - React.js, MaterialUI, Apollo Client, Recharts
  • Backend - Node.js, Express.js, GraphQL, Apollo Server
  • Database - MongoDB, Mongoose

Features

  • 🖥️ Dark theme: to reduce eyestrain
  • Browser notifications + alert sound: notice end of interval when using another app
  • Interval durations adjustment: whatever works for you
  • 📊 Statistics: total and average - for logged-in users
  • ⌨️ Keyboard shortcuts: forget about moving your mouse around
  • ( ͡° ͜ʖ ͡°) Overall decent

Issues

  • Currently only desktop resolutions are fully supported
  • Statistics aggregation has a slight problem with date handling that could possibly be fixed with storing information about user's time zone

Presentation

Settings Dialog and Dark theme Sign Up Sign In Notification

Statistics

Last x days

Last 31 days

This year

This year

Today

Today

Development

Requirements for both client and server are listed in Tech stack section.

Server

# Clone environment variables template
cp .env.template .env
# Fill out envs
vim .env
# Install dependencies
npm i
# Run the development server
npm run dev

Now you can visit localhost:{port_from_dotenv}/api from your browser for an interactive GraphQL playground.

Client

# Change proxy port so it matches with the backend
vim package.json
# Install dependencies
npm i
# Run the development server
npm start

Now you can visit localhost:3000 from your browser.

About

Manage your time properly with a simple pomodoro technique helper.

https://mbenecki-pomodoro.herokuapp.com

License:MIT License


Languages

Language:JavaScript 97.9%Language:HTML 2.1%