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

https://github.com/ale-pantoja/todo-app-backend

Backend de una aplicación de lista de tareas (Todo App) con base de datos utilizando Supabase
https://github.com/ale-pantoja/todo-app-backend

backend database express javascript nodejs postgresql supabase todoapp todolist

Last synced: 3 months ago
JSON representation

Backend de una aplicación de lista de tareas (Todo App) con base de datos utilizando Supabase

Awesome Lists containing this project

README

          

# Aplicación Todo - Backend API

## Visión General

Este proyecto implementa un backend completo para una aplicación de gestión de tareas (Todo App), proporcionando endpoints RESTful para operaciones CRUD con persistencia en PostgreSQL a través de Supabase.

## Tecnologías
![Supabase](https://img.shields.io/badge/Supabase-3ECF8E?style=for-the-badge&logo=supabase&logoColor=white)
![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge&logo=node.js&logoColor=white)
![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white)
![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge&logo=express&logoColor=%2361DAFB)
![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E)

**Stack completo:**
- **Runtime:** Node.js 18+
- **Framework:** Express 4.x
- **Base de datos:** PostgreSQL 15+ (via Supabase)
- **Validación:** Zod
- **Variables de entorno:** dotenv
- **Testing:** htttp Yack

## Instalación

```bash
# Clonar repositorio
git clone https://github.com/Ale-Pantoja/todo-app-backend.git
cd todo-app-backend

# Instalar dependencias
npm install

# Configurar entorno
cp .env.example .env
```

## Configuración

Editar el archivo `.env` con tus credenciales:

```env
# Entorno desarrollo
DATABASE_DEV_URL="postgresql://postgres:password@project-id.supabase.co:5432/postgres"

# Entorno producción
DATABASE_URL="postgresql://postgres:password@project-id.supabase.co:5432/postgres"

# Configuración adicional
PORT=3000
```

## Documentación API

### Base URL
`http://localhost:3000`

### Endpoints principales



Endpoint
Método
Descripción




/tasks
POST
Crear nueva tarea


/tasks
GET
Obtener todas las tareas


/tasks
DELETE
Eliminar una tarea


/:id
PUT
Actualizar una tarea

### Ejemplo de petición

```http
POST http://localhost:3000/tasks
Content-Type: application/json

{
"task": "Completar documentación técnica",
"isChecked": false
}
```

### Respuesta exitosa (200)

```json
{
"id": 1,
"task": "Completar documentación técnica",
"isChecked": false
}
```

## Despliegue

### Entorno de desarrollo

```bash
npm run dev
```

### Entorno de producción

```bash
npm run build
npm start
```

## Contribución

1. Haz fork del proyecto
2. Crea una rama feature (`git checkout -b feature/nueva-funcionalidad`)
3. Haz commit de tus cambios (`git commit -am 'Añade nueva funcionalidad'`)
4. Haz push a la rama (`git push origin feature/nueva-funcionalidad`)
5. Abre un Pull Request

## Licencia

Distribuido bajo licencia MIT. Ver `LICENSE` para más información.


© 2025 Alejandra Pantoja |
Contacto |
GitHub