Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vitorcarvalho67/todoshell
A shell-based To-Do List application, elegantly integrated with Prisma for database management and Poetry for dependency handling
https://github.com/vitorcarvalho67/todoshell
backend clean-code mysql poetry prisma python to-do-list
Last synced: about 1 month ago
JSON representation
A shell-based To-Do List application, elegantly integrated with Prisma for database management and Poetry for dependency handling
- Host: GitHub
- URL: https://github.com/vitorcarvalho67/todoshell
- Owner: VitorCarvalho67
- License: mit
- Created: 2023-10-19T22:29:12.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-20T19:55:46.000Z (11 months ago)
- Last Synced: 2024-05-11T05:45:45.748Z (8 months ago)
- Topics: backend, clean-code, mysql, poetry, prisma, python, to-do-list
- Language: Python
- Homepage:
- Size: 47.9 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
This 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.
## How to use:
1. **Clone the Repository:**
```
git clone https://github.com/VitorCarvalho67/ToDoShell.git
```2. **Navigate to the Project Folder:**
```
cd ToDoShell
```3. **Install Dependencies with Poetry or Run venv Directly**
Use the following command to install the dependencies listed in the `pyproject.toml` file:
```
poetry install
```or
```
python -m venv venv
# Windows
.\venv\Scripts\activate.bat
# Linux and *nix
. ./venv/bin/activate
# Install dependencies
pip install -r requirements.txt
```3.1. **(Optional) Start the database with docker-compose**
Docker must be installed on your machine```
docker-compose up -d
```4. **Migrate the Prisma database**
You need to migrate the Prisma database for tables to be created```
prisma db push
```5. **Run the Project:**
Run your Python project with Poetry. Replace `main.py` with the name of your project's main file:
```
poetry shell
python main.py
```or
```
# Inside the venv
(venv) $ python main.py
```This will start your project.
>[!IMPORTANT]
> remember to uncomment .env.example and remove .example from the file name.## Screenshots:
![Screenshot_297](https://github.com/VitorCarvalho67/ToDoShell/assets/102667323/523ca199-ed72-48a5-8c6c-d00a052ae6ef)
Make 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.