Minimalist PySide6 Todo App with Flexible Storage

Job ID: 38573019

Budget: €20 – €40 EUR

I am seeking an experienced developer to build a **Todo App** with a **PySide6**
desktop frontend and a **FastAPI** backend service. The goal is to create
a **simple, intuitive desktop application** for managing tasks, allowing
multiple users to contribute and collaborate on tasks, with the option to store
data either locally or through the FastAPI backend. The application will use
OAuth 2.0 authentication with tokens for secure user management, and the
persistence layer must support multiple storage methods. **I would like the app
to have functionality similar to Todoist**, focusing on core features like task
creation, project organization, and collaboration.

### Project Details:
- **Private GitHub repository access**: You'll get access to a codebase
with **boilerplate frontend, backend, and infrastructure** to help you
start quickly.
- The repo contains **existing issues, milestones, and documentation** to
streamline the development process.
- The focus is on **minimalism**: Build a lightweight app that allows users to
manage tasks, collaborate with others, and track progress with **no
unnecessary features**.

### Core Features:

1. **User Authentication**:
- Implement **OAuth 2.0** for secure authentication with tokens.
- Ensure smooth integration between the PySide6 frontend and the FastAPI
backend.

2. **Task Management** (similar to Todoist):
- Create, edit, and organize tasks into projects.
- Assign tasks to different users, set due dates, priorities, and track task
completion.
- Implement task collaboration features to allow multiple users to work
together on projects.

3. **Flexible Persistence Layer**:
- Design a persistence layer with **pluggable interfaces** that can:
- Store data **locally** using **JSON serialization/deserialization**
or **SQLite**.
- Store data through the **FastAPI backend** using a **microservices**
architecture.
- Ensure that the choice of persistence (local or backend) can be easily
configured.

4. **Progress Tracking**:
- View task progress and completion status through a straightforward
interface.

5. **UI Design**:
- Build a **clean and minimalist UI** for a user-friendly experience.
- Support **light and dark modes** for comfortable use in different
environments.

6. **Backend Integration**:
- Connect the PySide6 frontend to the FastAPI backend service for optional
remote persistence.
- Ensure proper communication and data handling between the frontend and
backend.

### Requirements:
- Proficiency in **PySide6** for the desktop frontend.
- Experience with **FastAPI** for backend service development.
- Knowledge of **OAuth 2.0** authentication and token management.
- Ability to design a **flexible persistence layer** that supports both local
storage (e.g., **JSON serialization**, **SQLite**) and **remote storage**
(via **FastAPI microservices**).
- Experience with **existing codebases** and GitHub repositories
(issues, milestones).
- Focus on **delivering a minimalist, distraction-free experience** for users
managing their tasks efficiently.

### Work Approach:

I expect the developer to be **willing to receive feedback on issues** and
ensure all issues are **perfectly clear and agreed upon before starting** to
avoid wasted time. While I aim to have clear specifications upfront, I also
expect some **flexibility during each iteration** to ensure the final delivery
meets high-quality standards.

I would like to see **constant progress through small iterations**, ensuring the
project stays on track. Comfort with **Git** and the use of **conventional
commits** is essential, as this will help me effectively track progress and
assess the project's development.

This project is a great opportunity to establish a strong working relationship,
with the potential for more ambitious projects in the future. I am looking for
someone who values clear communication, iterative development, and delivering
high-quality work.

### Why Join This Project:
- **Immediate access** to a well-prepped GitHub repo with boilerplate code to
accelerate development.
- A chance to **learn and enhance your skills** working with modern tech like
PySide6, FastAPI, and OAuth 2.0.
- Opportunity to **design a flexible persistence architecture**, gaining
experience with both local storage techniques and microservices.
- Contribute to a **real-world project** that prioritizes usability and
simplicity, perfect for users who want a streamlined task management
experience similar to Todoist.

I am looking for a developer who can deliver a streamlined app with a flexible
persistence layer that offers the core features needed for effective task
management. If you value simplicity, flexibility, and user-friendly design,
this project is for you!
Related categories: Python UX / User Experience Qt FastAPI