https://github.com/kotone6996/fastapi
TodoApp is a personal task management platform where authenticated users can register, log in, and manage their own todo list in a secure environment.
https://github.com/kotone6996/fastapi
api asyncio cookiecutter frontend jwt letsencrypt openapi openapi3 python-types pytorch react redoc traefik typescript
Last synced: 6 months ago
JSON representation
TodoApp is a personal task management platform where authenticated users can register, log in, and manage their own todo list in a secure environment.
- Host: GitHub
- URL: https://github.com/kotone6996/fastapi
- Owner: Kotone6996
- Created: 2025-04-23T01:01:10.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-23T02:48:07.000Z (6 months ago)
- Last Synced: 2025-04-23T03:29:37.382Z (6 months ago)
- Topics: api, asyncio, cookiecutter, frontend, jwt, letsencrypt, openapi, openapi3, python-types, pytorch, react, redoc, traefik, typescript
- Language: Python
- Size: 292 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FastAPI TodoApp 🗒️

Welcome to the **FastAPI TodoApp** repository! This is a personal task management platform designed for authenticated users. With this app, users can register, log in, and manage their own todo lists in a secure environment.
## Table of Contents
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Getting Started](#getting-started)
- [Usage](#usage)
- [API Endpoints](#api-endpoints)
- [Testing](#testing)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Releases](#releases)## Features
- **User Authentication**: Secure registration and login using JWT and OAuth2.
- **Task Management**: Create, read, update, and delete tasks.
- **Responsive Design**: User-friendly interface built with HTML5 and CSS.
- **Database Integration**: Store tasks securely using PostgreSQL.
- **RESTful API**: Access the application programmatically for automation and integration.
- **Testing**: Comprehensive testing suite using Pytest.## Technologies Used
This project uses a variety of technologies to ensure a smooth and efficient user experience. The main technologies include:
- **FastAPI**: A modern web framework for building APIs with Python.
- **PostgreSQL**: A powerful, open-source relational database.
- **SQLAlchemy**: An ORM for database interaction.
- **Pydantic**: Data validation and settings management.
- **HTML5 & CSS**: For building the frontend interface.
- **JavaScript**: For client-side interactivity.
- **JWT & OAuth2**: For secure authentication.
- **Pytest**: For testing the application.## Getting Started
To get started with the FastAPI TodoApp, follow these steps:
1. **Clone the Repository**:
```bash
git clone https://github.com/Kotone6996/FastAPI.git
cd FastAPI
```2. **Set Up a Virtual Environment**:
```bash
python3 -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
```3. **Install Dependencies**:
```bash
pip install -r requirements.txt
```4. **Set Up the Database**:
- Make sure you have PostgreSQL installed.
- Create a database for the application.
- Update the database URL in the configuration file.5. **Run the Application**:
```bash
uvicorn main:app --reload
```6. **Access the Application**:
Open your browser and go to `http://127.0.0.1:8000`.## Usage
Once the application is running, you can:
- **Register**: Create a new account.
- **Log In**: Access your account securely.
- **Manage Tasks**: Add, edit, or delete tasks in your todo list.### User Interface
The user interface is designed to be simple and intuitive. You will find a clean layout that allows you to focus on your tasks without distractions.
## API Endpoints
The FastAPI TodoApp exposes several API endpoints for interaction. Here are some of the key endpoints:
- **POST /register**: Register a new user.
- **POST /login**: Log in to your account.
- **GET /tasks**: Retrieve all tasks for the authenticated user.
- **POST /tasks**: Create a new task.
- **PUT /tasks/{task_id}**: Update an existing task.
- **DELETE /tasks/{task_id}**: Delete a task.### Example Requests
Here’s how you can interact with the API using `curl`:
1. **Register a User**:
```bash
curl -X POST http://127.0.0.1:8000/register -d '{"username": "testuser", "password": "testpass"}' -H "Content-Type: application/json"
```2. **Log In**:
```bash
curl -X POST http://127.0.0.1:8000/login -d '{"username": "testuser", "password": "testpass"}' -H "Content-Type: application/json"
```3. **Get Tasks**:
```bash
curl -X GET http://127.0.0.1:8000/tasks -H "Authorization: Bearer "
```## Testing
To ensure the application works as expected, run the test suite:
```bash
pytest
```This will execute all tests defined in the `tests` directory. Ensure that your test database is set up correctly before running tests.
## Contributing
Contributions are welcome! If you want to improve the FastAPI TodoApp, please follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add some feature'`).
5. Push to the branch (`git push origin feature/YourFeature`).
6. Open a Pull Request.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact
For any questions or feedback, feel free to reach out:
- **Email**: your_email@example.com
- **GitHub**: [Kotone6996](https://github.com/Kotone6996)## Releases
To download the latest release of the FastAPI TodoApp, visit the [Releases](https://github.com/Kotone6996/FastAPI/releases) section. You can find the latest files there to download and execute.
Thank you for checking out the FastAPI TodoApp! We hope you find it useful for managing your tasks.