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.
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.
- Task Management: Create, update, and delete tasks. Mark tasks as completed and view them by different filters (Today, Upcoming, Someday). Order them by Name, Due Date, Date Created, or Priority.
- Quick Notes: Create, update, delete, or assign text notes to projects.
- Tags: Create tags for tasks and notes to enhance organization.
- Project Tracking: Organize tasks into projects. Each project can contain multiple tasks and/or multiple notes.
- Area Categorization: Group projects into areas for better organization and focus.
- Due Date Tracking: Set due dates for tasks and view them based on due date categories.
- Responsive Design: Accessible from various devices, ensuring a consistent experience across desktops, tablets, and mobile phones.
- Multi-Language Support: Available in multiple languages including English, German (de), Greek (el), Spanish (es), Japanese (jp), and Ukrainian (ua) among others.
- Telegram Integration:
- Create tasks directly through Telegram messages
- Receive daily digests of your tasks
- Quick capture of ideas and todos on the go
Check out our GitHub Project for planned features and progress.
One simple command, that's all it takes to run tududi with docker.
First pull the latest image:
The following environment variables are used to configure tududi:
- TUDUDI_USER_EMAIL - Initial admin user's email address (e.g., [email protected])
- TUDUDI_USER_PASSWORD - Initial admin user's password (use a strong password!)
- TUDUDI_SESSION_SECRET - Session encryption key (generate with openssl rand -hex 64)
- TUDUDI_INTERNAL_SSL_ENABLED - Set to 'true' if using HTTPS internally (default: false)
- TUDUDI_ALLOWED_ORIGINS - Controls CORS access for different deployment scenarios:
- Not set: Only allows localhost origins
- Specific domains: https://tududi.com,http://localhost:9292
- Allow all (development only): Set to empty string ""
Navigate to https://localhost:9292 and login with your credentials.
Before you begin, ensure you have the following installed:
- Ruby (version 3.2.2 or higher)
- Sinatra
- SQLite3
- Puma
- ReactJS
To install tududi, follow these steps:
- Clone the repository:
git clone https://github.com/chrisvel/tududi.git
- Navigate to the project directory:
- Install the required gems:
- Create and enter the directory:
- Create the key and cert:
openssl genrsa -out server.key 2048 openssl req -new -x509 -key server.key -out server.crt -days 365
Execute the migrations:
- Open the console:
- Add the user:
To start the application, run:
To run tests, execute:
Contributions to tududi are welcome. To contribute:
- Fork the repository.
- Create a new branch (`git checkout -b feature/AmazingFeature`).
- Make your changes.
- Commit your changes (`git commit -m 'Add some AmazingFeature'`).
- Push to the branch (`git push origin fexature/AmazingFeature`).
- Open a pull request.
This project is licensed for free personal use, with consent required for commercial use. Refer to the LICENSE for further details.
For questions or comments, please open an issue or contact the developer directly.
README created by Chris Veleris for tududi.