Skip to content

skyash-dev/copo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

COPO-logo

copo

last-commit repo-top-language repo-language-count

Built with the tools and technologies:

JavaScript PostCSS YAML Nodemon React ESLint
TypeScript tsnode Socket.io JSON Express


Table of Contents

Overview

copo is a globally synced Pomodoro timer designed for seamless focus and collaboration. All users are synchronized to the same Pomodoro intervals (25 minutes of work followed by a 5-minute break). The application offers a minimal and distraction-free environment where everyone is on the same cycle. During the breaks, users can chat with each other in a global chat room, making it a community-driven productivity tool.

The simplicity of the timer ensures that users stay focused without needing to manage their time themselves. Built using modern technologies, Copo provides real-time updates and ensures that users are always in sync no matter when they join the session.


Features

  • Global Sync Pomodoro Timer: All users operate on the same 25-minute work and 5-minute break intervals. The timer is globally synchronized, meaning no matter when you join, you’ll be on the same cycle as everyone else.

  • Break-Time Global Chat: During the 5-minute breaks, users can chat with others from around the world, fostering a sense of community and collaboration.

  • Minimalist Interface: A clean and intuitive design that keeps the focus on productivity. The user interface has been designed to eliminate distractions and make the timer easy to follow.

  • Real-time Timer Updates: The server broadcasts the timer state to all connected clients in real-time, ensuring that the timer remains consistent across all sessions.

  • User-Friendly Notifications: Receive visual and auditory cues when the work session ends and the break begins.

  • Cross-Platform Compatibility: Accessible via any browser, making it easy to use on different devices without the need for additional installations.

  • Metrics Tracking: Integrated with Umami for tracking important user interactions (like video clicks or chat messages), providing insights into how users engage with the application.


Repository Structure

└── copo/
    ├── client
    │   ├── .eslintrc.json
    │   ├── .gitignore
    │   ├── README.md
    │   ├── app
    │   ├── next.config.mjs
    │   ├── package.json
    │   ├── pnpm-lock.yaml
    │   ├── postcss.config.mjs
    │   ├── socket.js
    │   ├── tailwind.config.ts
    │   ├── tsconfig.json
    │   └── utils
    ├── server
    │   ├── .gitignore
    │   ├── package-lock.json
    │   ├── package.json
    │   ├── router.js
    │   └── server.js
    └── test.js

Modules

.
File Summary
test.js ❯ REPLACE-ME
client
File Summary
next.config.mjs ❯ REPLACE-ME
pnpm-lock.yaml ❯ REPLACE-ME
.eslintrc.json ❯ REPLACE-ME
tsconfig.json ❯ REPLACE-ME
postcss.config.mjs ❯ REPLACE-ME
package.json ❯ REPLACE-ME
socket.js ❯ REPLACE-ME
tailwind.config.ts ❯ REPLACE-ME
client.utils
File Summary
types.ts ❯ REPLACE-ME
constants.ts ❯ REPLACE-ME
client.app
File Summary
layout.tsx ❯ REPLACE-ME
globals.css ❯ REPLACE-ME
page.tsx ❯ REPLACE-ME
server
File Summary
package-lock.json ❯ REPLACE-ME
router.js ❯ REPLACE-ME
package.json ❯ REPLACE-ME
server.js ❯ REPLACE-ME

Project Roadmap

  • Task 1: Implement feature one.
  • Task 2: Implement feature two.
  • Task 3: Implement feature three.

Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/skyash-dev/copo
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph



Acknowledgments