Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions pomodoro-timer-by-jules/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
50 changes: 50 additions & 0 deletions pomodoro-timer-by-jules/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Pomodoro Timer by Jules

**This is an experimental application created by Jules (an AI assistant).**

## About

This is a simple Pomodoro timer application built with Next.js and Tailwind CSS. It allows users to manage work and break intervals using the Pomodoro Technique. Session history is stored locally using SQLite.

## Features

* **Pomodoro Timer**:
* Standard 25-minute work sessions and 5-minute break sessions.
* Timer display (MM:SS).
* Start, Stop, and Reset controls.
* Automatic switching between work and break sessions.
* Notification (textual) of current session type (Work/Break).
* **Session History**:
* Completed Pomodoro sessions (both work and break) are saved locally.
* History is displayed in a sidebar, showing:
* Session type (Work/Break)
* Start time
* Duration
* The history sidebar automatically updates when a new session is completed.
* **Tech Stack**:
* Next.js (App Router, TypeScript)
* React
* Tailwind CSS
* SQLite (for local data storage)

## Setup & Running

To set up and run this project locally:

1. **Clone the repository** (if you haven't already).
2. **Navigate to the project directory**:
```bash
cd pomodoro-timer-by-jules
```
3. **Install dependencies**:
Make sure you have Node.js and npm installed.
```bash
npm install
```
4. **Run the development server**:
```bash
npm run dev
```
This will typically start the application on `http://localhost:3000`.

The SQLite database file (`pomodoro.db`) will be created in the `pomodoro-timer-by-jules` project root directory when the application first attempts to access or write to the database (e.g., when the first session is saved or when the history page is loaded).
16 changes: 16 additions & 0 deletions pomodoro-timer-by-jules/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { dirname } from "path";
import { fileURLToPath } from "url";
import { FlatCompat } from "@eslint/eslintrc";

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

const compat = new FlatCompat({
baseDirectory: __dirname,
});

const eslintConfig = [
...compat.extends("next/core-web-vitals", "next/typescript"),
];

export default eslintConfig;
7 changes: 7 additions & 0 deletions pomodoro-timer-by-jules/next.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import type { NextConfig } from "next";

const nextConfig: NextConfig = {
/* config options here */
};

export default nextConfig;
Loading