{"id":22178244,"url":"https://github.com/vitorcarvalho67/todoshell","last_synced_at":"2025-07-26T17:31:32.529Z","repository":{"id":202081718,"uuid":"707434626","full_name":"VitorCarvalho67/ToDoShell","owner":"VitorCarvalho67","description":"A shell-based To-Do List application, elegantly integrated with Prisma for database management and Poetry for dependency handling","archived":false,"fork":false,"pushed_at":"2024-02-20T19:55:46.000Z","size":49,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-11T05:45:45.748Z","etag":null,"topics":["backend","clean-code","mysql","poetry","prisma","python","to-do-list"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VitorCarvalho67.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-10-19T22:29:12.000Z","updated_at":"2024-04-20T21:13:37.000Z","dependencies_parsed_at":"2024-02-20T20:47:45.709Z","dependency_job_id":"84c508e3-8aae-47a3-9eab-b093667a0211","html_url":"https://github.com/VitorCarvalho67/ToDoShell","commit_stats":null,"previous_names":["vitorcarvalho67/todoshell"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorCarvalho67%2FToDoShell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorCarvalho67%2FToDoShell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorCarvalho67%2FToDoShell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorCarvalho67%2FToDoShell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VitorCarvalho67","download_url":"https://codeload.github.com/VitorCarvalho67/ToDoShell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227699341,"owners_count":17806354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","clean-code","mysql","poetry","prisma","python","to-do-list"],"created_at":"2024-12-02T08:45:56.043Z","updated_at":"2024-12-02T08:45:56.580Z","avatar_url":"https://github.com/VitorCarvalho67.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/VitorCarvalho67/ToDoShell/assets/102667323/22ead2a9-f87b-4728-83b5-b3e3ccc55eeb\" /\u003e\n\u003c/div\u003e\n\nThis Python project is a robust and feature-rich ToDoList application, built entirely using object-oriented programming and employing asynchronous techniques. It harnesses the capabilities of MySQL, Python, Prisma, and Poetry to provide users with a seamless task management system. Users can easily register, log in, and once logged in, they have the flexibility to create new tasks, complete with titles and descriptions. From the main menu, users can efficiently list all their tasks, add new ones, remove existing tasks, and log out. This project showcases the power of object-oriented design and async programming, combining Python for the backend, MySQL for data storage, Prisma for database management, and Poetry for dependency management, ensuring a responsive and user-friendly experience.\n\n## How to use:\n\n1. **Clone the Repository:**\n\n```\ngit clone https://github.com/VitorCarvalho67/ToDoShell.git\n```\n\n2. **Navigate to the Project Folder:**\n\n```\ncd ToDoShell\n```\n\n3. **Install Dependencies with Poetry or Run venv Directly**\n\nUse the following command to install the dependencies listed in the `pyproject.toml` file:\n\n```\npoetry install\n```\n\nor\n\n```\npython -m venv venv\n# Windows\n.\\venv\\Scripts\\activate.bat\n# Linux and *nix\n. ./venv/bin/activate\n# Install dependencies\npip install -r requirements.txt\n```\n\n3.1. **(Optional) Start the database with docker-compose**\nDocker must be installed on your machine\n\n```\ndocker-compose up -d\n```\n\n4. **Migrate the Prisma database**\nYou need to migrate the Prisma database for tables to be created\n\n```\nprisma db push\n```\n\n5. **Run the Project:**\n\nRun your Python project with Poetry. Replace `main.py` with the name of your project's main file:\n\n```\npoetry shell\npython main.py\n```\n\nor\n\n```\n# Inside the venv\n(venv) $ python main.py\n```\n\nThis will start your project.\n\u003e[!IMPORTANT]\n\u003e remember to uncomment .env.example and remove .example from the file name.\n\n## Screenshots:\n\n![Screenshot_297](https://github.com/VitorCarvalho67/ToDoShell/assets/102667323/523ca199-ed72-48a5-8c6c-d00a052ae6ef)\n\n\nMake sure Prisma settings and environment variables are properly configured in your project as specified in the Prisma documentation. This simple guide should help you set up and run your project with Prisma as a dependency using Poetry. Customize it as per your project's specific requirements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitorcarvalho67%2Ftodoshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitorcarvalho67%2Ftodoshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitorcarvalho67%2Ftodoshell/lists"}