Skip to content

mcckyle/react-timer

Repository files navigation

react-Timer

A simple, modern stopwatch app built with React, Tailwind CSS, and Vite. Designed for focus, simplicity, and speed.


Features

  • ⚡ Instant load with Vite
  • 🎨 Beautiful UI with Tailwind CSS
  • 💡 Minimalist design, dark-themed interface
  • 📱 Responsive layout for desktop and mobile
  • 🧠 Built with composability and future enhancements in mind!

🚀 Getting Started

Clone the repository and install dependencies:

git clone https://github.com/your-username/react-timer.git
cd react-timer
npm install

Start the development server:

npm run dev

Build for production:

npm run build

🛠️ Tech Stack


📁 Project Structure

react-timer/
├── .github/              # GitHub workflows (CI/CD).
├── public/               # Static assets (served as-is).
├── src/                  # Source code
│   ├── components/       # Reusable components.
│   ├── hooks/            # Custom React hooks.
│   ├── __tests__/        # Unit tests for components and hooks.
│   ├── test/             # Utility functions for Jest unit tests.
│   │   └── test-utils.jsx
│   ├── App.jsx           # Main app component.
│   ├── main.jsx          # React DOM entry point.
│   ├── App.css           # App-specific styles.
│   └── index.css         # Tailwind and global styles.
├── dist/                 # Production build output (auto-generated).
├── index.html            # HTML entry file.
├── .gitignore            # Git ignored files and folders.
├── LICENSE               # Project license.
├── README.md             # Project overview and documentation.
├── babel.config.cjs      # Babel config for Jest.
├── jest.config.js        # Jest testing configuration.
├── eslint.config.js      # ESLint configuration.
├── setUpTests.js         # Global test setup file.
├── tailwind.config.js    # Tailwind CSS configuration.
├── postcss.config.js     # PostCSS plugins.
├── vite.config.js        # Vite build and dev server config.
├── package.json          # Project metadata and scripts.
└── package-lock.json     # Dependency lockfile.

🎯 Roadmap

  • Basic lap functionality.
  • Keyboard shortcuts for core controls.
  • Persist laps using browser localStorage.
  • Highlight fastest and slowest lap.
  • Add lap time deltas (difference from previous lap).
  • Add light/dark mode toggle with animation.
  • Add an analog clock optional view for completeness.
  • Add a digital clock optional view with current time option for accessibility.
  • Export laps to CSV or JSON.

📄 License

MIT License. Free to use, fork, and extend.


🙌 Acknowledgments

Releases

No releases published

Packages

No packages published