Creating a simple TODO App with Pythagora V1 (Early access)
I got the privilege to be accepted as a beta tester of the Pythagora ai-development platform. Here I will share my experience. If you want more details watch this Video.
https://www.youtube.com/watch?v=4g-1cPGK0GA
As with all software you cannot start without a plan and initial idea of what you want to develop. I tried to input another spec, but somehow the AI transformed this into a todo list.
Ai generated spec,
## Features
- **Display of Todos**: A list that displays all todo items. Each item shows its description and a checkbox to indicate its state (open or completed).
- **Add New Todo**: A button to add a new todo item. Clicking this button will prompt the user to enter a description for the new todo.
- **Toggle State**: Each todo item includes a checkbox. Checking/unchecking this box toggles the todo's state between open and completed.
- **Local Storage**: The application uses the browser's local storage to persist todos between sessions, ensuring that users do not lose their data upon reloading the application.
I installed mongodb 8.0 and nodejs as they are normally a reqirement for most projects built with pythagora v1. However this project uses the localStore.
The task built successfully, but I had some issues whith the start app (rocketship) Instead I did, npm run dev, ,manually.
After this I tried to add drag and drop.
The pythagora software makes a plan and implements
During deevelopment it choosed a deprecated module,
Normally during development human testing is still necessary.
This is how I manually started the project.
npm run dev
> AI Scheduler@0.0.0 dev
> vite
Vite configuration is being loaded
VITE v5.4.10 ready in 332 ms
➜ Local: http://localhost:3000/
It turns out that it tried to create items that was possible to drag but forgot about those already in the local storage. The did not have an id.
I implemented this as a workaround.
localStorage.removeItem('todos');
This did not solve all problems and after several attempts Pythagora was not able to fix the bug, so I switched to pair programming, but was not able to fix it due to limited time.
More reading, https://github.com/Pythagora-io/gpt-pilot/wiki
The complete sourccode can be found in this repo, https://github.com/Ebiroll/scheduler/tree/main/ai-scheduler
The repo also contains some other sourcecode where I use Codepilot workspace. In another article I will try a side by side comparison by using these two tools. AI-assisted development does not work good enough yet, but I think this is the future of programming. We will become testers and bughunters until the AI also will manage this task.