tududi

πŸ“ tududi

tududi is a task and project management web application that allows users to efficiently manage their tasks and projects, categorize them into different areas, and track due dates. It is designed to be intuitive and easy to use, providing a seamless experience for personal productivity.

Light Mode Screenshot

Dark Mode Screenshot

Light Mobile Screenshot

Dark Mobile Screenshot

πŸš€ How It Works

This app allows users to manage their tasks, projects, areas, notes, and tags in an organized way. Users can create tasks, projects, areas (to group projects), notes, and tags. Each task can be associated with a project, and both tasks and notes can be tagged for better organization. Projects can belong to areas and can also have multiple notes and tags. This structure helps users categorize and track their work efficiently, whether they’re managing individual tasks, larger projects, or keeping detailed notes.

✨ Features

πŸ—ΊοΈ Roadmap

Check out our GitHub Project for planned features and progress.

πŸ› οΈ Getting Started

One simple command, that’s all it takes to run tududi with docker.

πŸ‹ Docker

First pull the latest image:

docker pull chrisvel/tududi:latest

Then set up the necessary environment variables:

  1. (Optional) Create a random session secret:
     openssl rand -hex 64
    
  2. Run the Docker container:
     docker run \
     -e TUDUDI_USER_EMAIL=myemail@example.com \
     -e TUDUDI_USER_PASSWORD=mysecurepassword \
     -e TUDUDI_SESSION_SECRET=your_generated_hash_here \
     -e TUDUDI_INTERNAL_SSL_ENABLED=false \
     -v ~/tududi_db:/usr/src/app/tududi_db \
     -p 9292:9292 \
     -d chrisvel/tududi:latest
    
  3. Navigate to https://localhost:9292 and login with your credentials.

🚧 Development

Prerequisites

Before you begin, ensure you have the following installed:

πŸ— Installation

To install tududi, follow these steps:

  1. Clone the repository:
    git clone https://github.com/chrisvel/tududi.git
    
  2. Navigate to the project directory:
    cd tududi
    
  3. Install the required gems:
    bundle install
    

πŸ”’ SSL Setup

  1. Create and enter the directory:
    mkdir certs
    cd certs
    
  2. Create the key and cert:
    openssl genrsa -out server.key 2048
    openssl req -new -x509 -key server.key -out server.crt -days 365
    

πŸ“‚ Database Setup

Execute the migrations:

rake db:migrate 

πŸ‘€ Create Your User

  1. Open the console:
    rake console
    
  2. Add the user:
    User.create(email: "myemail@somewhere.com", password: "awes0meHax0Rp4ssword")
    

πŸš€ Usage

To start the application, run:

puma -C app/config/puma.rb

πŸ” Testing

To run tests, execute:

bundle exec ruby -Itest test/test_app.rb

🀝 Contributing

Contributions to tududi are welcome. To contribute:

  1. Fork the repository.
  2. Create a new branch (`git checkout -b feature/AmazingFeature`).
  3. Make your changes.
  4. Commit your changes (`git commit -m β€˜Add some AmazingFeature’`).
  5. Push to the branch (`git push origin feature/AmazingFeature`).
  6. Open a pull request.

πŸ“œ License

This project is licensed for free personal use, with consent required for commercial use. Refer to the LICENSE for further details.

πŸ“¬ Contact

For questions or comments, please open an issue or contact the developer directly.


README created by Chris Veleris for tududi.