A full-stack todo application built with Nuxt 4, featuring a PostgreSQL database and RESTful API.
- ✅ Create, read, update, and delete todos
- ✅ Mark todos as completed/uncompleted
- ✅ Server-side rendering with Nuxt 4
- ✅ Type-safe database operations with Drizzle ORM
- ✅ Input validation using Zod
- ✅ Responsive UI with Pico CSS
- Frontend: Nuxt 4, Vue 3, TypeScript
- Backend: Nitro (Nuxt server)
- Database: PostgreSQL (Neon)
- ORM: Drizzle ORM
- Validation: Zod
- Styling: Pico CSS
-
Clone the repository
-
Install dependencies:
pnpm install
-
Create a
.envfile with your database connection:POSTGRES_URL=your_postgresql_connection_string -
Generate and run database migrations:
pnpm db:generate pnpm db:migrate
-
Start the development server:
pnpm dev
pnpm dev- Start development serverpnpm build- Build for productionpnpm preview- Preview production buildpnpm lint- Lint codepnpm lint:fix- Fix linting issuespnpm db:generate- Generate database migrationspnpm db:migrate- Run database migrationspnpm db:studio- Open Drizzle Studio