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


About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published