This project is a simple Todos REST API developed in Ruby on Rails as a university assignment. It provides endpoints to manage todos and todo items. The API includes JWT authentication for securing and authorizing requests, and Swagger documentation for easy API exploration.
- POST /auth/login: Login
- POST /signup: Signup a new user
- GET /todos: List all todos and todo items
- POST /todos: Create a new todo
- GET /todos/:id: Get a todo
- PUT /todos/:id: Update a todo
- DELETE /todos/:id: Delete a todo and its items
- GET /todos/:todo_id/items: List all todo items
- POST /todos/:todo_id/items: Create a new todo item
- GET /todos/:todo_id/items/:id: Get a todo item
- PUT /todos/:todo_id/items/:id: Update a todo item
- DELETE /todos/:todo_id/items/:id: Delete a todo item
![todos-api-swagger](https://private-user-images.githubusercontent.com/79643636/304164396-06ac5f3b-0d6d-4f99-9169-e310a15b880c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE0ODgyMzQsIm5iZiI6MTcyMTQ4NzkzNCwicGF0aCI6Ii83OTY0MzYzNi8zMDQxNjQzOTYtMDZhYzVmM2ItMGQ2ZC00Zjk5LTkxNjktZTMxMGExNWI4ODBjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIwVDE1MDUzNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRjOWZkNDU0NjgzNzZjZGYyMjVhYmE5YWE0MzRjNmYzMDk5OGY1ZDM4M2E0MWE5YjI4ZmRlZmNhZTI2NjFjNzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.QIxTFCpNhi8nAw-gwppyxWoM7A6d4Q6wlHGTcppDwrM)