Python backend, Javascript frontend.
Install backend with pip:
cd backend
pip install -r requirements.txt
Install frontend with npm:
cd frontend
pnpm install
Rename file /frontend/.env.example
to /frontend/.env
Start backend server:
cd backend
py manage.py runserver
Start frontend server:
cd frontend
npm run dev
ViewSet es un concepto específico de Django REST framework que implicitamente es un conjunto de vistas.
Cada vez que se crea una ruta a un recurso, utilizando su ViewSet, Django REST framework crea completamente el CRUD.
Un action es una ruta específica que se genera y configura para realizar una 'acción' específica diferente (mas compleja o completa) de lo que se hace con las rutas standard provistas por REST.
Se crea dentro de la clase ViewSet del recurso, es un método que tiene que tener el decorador @action, el cual entre otras cosas admite que se especifique los métodos HTTP por medio de los cuales se puede ejecutar esta acción, por ej. 'POST'. Dentro, este método, posee la lógica para realizar con el recurso lo que sea necesario, por ej. Pasar el valor de un campo booleano a otro estado. Para utilizar/ejecutar este action, se debe hacer un POST a la ruta del recurso, poniendo en la URL el nombre del action creado, por ej. 'http://127.0.0.1:8000/api/tasks/1/done/'. (La barra al final es obligatoria.)