Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/j3rrryy/todo_app

Simple To Do app. Written using Django REST Framework
https://github.com/j3rrryy/todo_app

django-rest-framework docker nginx postgresql todo

Last synced: 8 days ago
JSON representation

Simple To Do app. Written using Django REST Framework

Awesome Lists containing this project

README

        

# Simple To Do app



СI/CD


Python 3.12


MIT License


Ruff

## :book: Key features

- Token authentication (Djoser)
- Easy management of your tasks

## :page_with_curl: API

|Method|URL|Headers|Body|Description|
|:-:|:-:|:-:|:-:|:-:|
|`POST`|`/api/v1/auth/users/`|`-`|`email`, `username`, `password`|Register a new user|
|`POST`|`/api/v1/auth/token/login/`|`-`|`username`, `password`|Obtain the user authentication token|
|`GET`|`/api/v1/auth/users/me/`|`Authorization: Token `|`-`|Get the user data|
|`POST`|`/api/v1/auth/users/set_username/`|`Authorization: Token `|`new_username`, `current_password`|Change the username|
|`POST`|`/api/v1/auth/users/set_password/`|`Authorization: Token `|`new_password`, `current_password`|Change the user password|
|`POST`|`/api/v1/auth/token/logout/`|`Authorization: Token `|`-`|Logout the user (remove the user authentication token)|
|`DELETE`|`/api/v1/users/me/`|`Authorization: Token `|`current_password`|Delete the user|
|`GET`|`/api/v1/tasks/`|`Authorization: Token `|`-`|Get the user tasks|
|`POST`|`/api/v1/tasks/`|`Authorization: Token `|`title`, `description` (str, default=blank), `priority` (float [0; 1], default=1), `completed` (bool, default=False)|Post a new task|
|`GET`|`/api/v1/tasks//`|`Authorization: Token `|`-`|Get the task|
|`PATCH`|`/api/v1/tasks//`|`Authorization: Token `|Any key (`title` / `description` / `priority` / `completed`)|Update the task|
|`DELETE`|`/api/v1/tasks//`|`Authorization: Token `|`-`|Delete the task|

## :computer: Requirements

- Docker

## :hammer_and_wrench: Getting started

- Copy `.env` file from `examples/` to `docker/` folder and fill it in

### :rocket: Start

```shell
docker compose up --build -d
```

### :x: Stop

```shell
docker compose stop
```