Skip to content

AthenaFoss/Time-Managment-Tool

Repository files navigation

Time Management Tool

Project Origin

This project was inspired by a personal journey shared in the tweet: View Original Tweet

The idea emerged from a desire to create a comprehensive time management tool that goes beyond traditional tracking methods, focusing on productivity and personal growth.

Time Management App Preview

Overview

A comprehensive web application designed to help you manage time, prioritize tasks, and boost productivity. Built with modern web technologies and inspired by advanced time management techniques.

Key Features

Productivity Arsenal πŸ’ͺ🎯

  • πŸ”₯ Smart Task Prioritization (Urgent, Important, Time-taken)
  • πŸ… Customizable Pomodoro Timer
  • πŸ“‹ Intelligent To-do Lists
  • πŸ“Š Performance Analytics Dashboard

PWA Superpowers πŸŒπŸ“±

  • 🚫 Offline Mode Support
  • πŸ’» Desktop & Mobile Installation
  • πŸ”” Smart Push Notifications
  • πŸ”„ Background Synchronization
  • 🏠 Home Screen Shortcut

Tech Stack

  • Frontend: Next.js
  • Backend: Node.js
  • Database: PostgreSQL
  • ORM: Prisma
  • Authentication: Google OAuth
  • Deployment: TBD

Prerequisites

  • Node.js (v16 or later)
  • npm
  • Docker (optional, for local database)
  • PostgreSQL

Environment Setup

1. Clone the Repository

git clone https://github.com/{your_github_username}/time_managment_tool.git
cd time_managment_tool

2. Install Dependencies

npm install

3. Add UI Components

We use a custom command for adding shadcn/ui components:

npm run ui:add

This is a pre-configured command that runs npx shadcn@latest add. Use it to add new UI components as needed.

4. Configure Environment Variables

Create a .env file by copying the example:

cp .env.example .env

Update the .env file with your configuration:

NODE_ENV=development
DATABASE_URL=postgresql://your_username:your_password@localhost:5432/time_management

5. Database Setup

Option 1: Local PostgreSQL with Docker

docker-compose up -d

Option 2: Cloud Database

Configure your DATABASE_URL with your cloud provider's PostgreSQL connection string.

6. Generate Prisma Client

npm run db:generate

7. Run Database Migrations

npm run db:migrate

8. Start the Application

npm run dev

Access the application at: http://localhost:3000

Troubleshooting

  • Ensure all environment variables are correctly set
  • Check PostgreSQL connection
  • Verify Node.js and npm versions
  • Run npm audit to check for dependency vulnerabilities

Security Considerations

  • Keep dependencies updated
  • Use environment-specific configurations
  • Implement proper authentication and authorization
  • Use HTTPS for all production deployments

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contribution Guidelines

  • Follow existing code style
  • Write tests for new features
  • Update documentation
  • Ensure CI/CD checks pass

Testing

npm run test

Build for Production

npm run build

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

  • Inspired by Nikhil PN's personal productivity journey
  • Time management techniques from productivity experts

Contact

Project Link: https://github.com/AthenaFoss/time_managment_tool

Support

If you encounter any issues or have questions, please open an issue on GitHub.

About

This project is for managing the time and prioritizing the task

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published