Task Cloud is an Ionic + Angular Progressive Web App for personal task management with offline support and cloud sync. The repo is a Turborepo monorepo with a NestJS API on Neon Postgres.
- Create, edit, complete, and delete tasks
- Filter tasks by status
- Offline support with Ionic Storage
- Cloud synchronization across devices (Nest API + Neon)
- Responsive UI built with Ionic and Tailwind CSS
- Production URL: https://task-cloud.netlify.app
apps/web Ionic + Angular PWA (Vercel static)
apps/api NestJS API (Vercel Function + Neon Postgres)
mcp-server/ Optional Python MCP tools (uv)
packages/ Shared packages (reserved)
- Turborepo + pnpm workspaces
- Angular 22 / Ionic 8
- NestJS 11
- Vercel (Turborepo remote cache)
- Tailwind CSS
- Neon Postgres
- Jasmine + Karma (web)
- ESLint
- Clone the repository.
git clone https://github.com/Criscode2022/task-manager-ionic.git
cd task-manager-ionic- Install dependencies (from repo root).
pnpm install- Configure Neon (see
NEON_SETUP.md), then copy env template:
cp .env.example .env
# set DATABASE_URL, JWT_SECRET, PIN_PEPPER- Start the API and development server.
pnpm api # terminal 1 — Nest API on :3001
pnpm start # terminal 2 — Angular with /api proxyOr both via Turborepo:
pnpm start:full| Script | Description |
|---|---|
pnpm api |
Nest API (apps/api) in watch mode |
pnpm start |
Angular/Ionic dev server (apps/web) |
pnpm start:full |
API + web via turbo |
pnpm build |
Build all packages |
pnpm build:web / build:api |
Build one app |
pnpm run config |
Generate web environment.*.local.ts |
pnpm lint / lint:ci |
ESLint |
pnpm test / test:ci |
Web unit tests (Karma) |
pnpm test:api |
API unit tests (Vitest) |
pnpm test:integration |
Nest HTTP integration (Supertest) |
pnpm test:e2e |
Playwright (Chromium) |
Docs: docs/12-testing.md.
pnpm lint
pnpm test:ci
pnpm test:api
pnpm test:integration
pnpm test:e2e.github/workflows/ci.yml runs on push/PR to main:
pnpm install --frozen-lockfilepnpm lint:cipnpm test:cipnpm test:apipnpm test:integrationpnpm build:apipnpm test:e2e(job aparte, Chromium)pnpm build:api
See NEON_SETUP.md and neon-migration.sql for database setup.
One Vercel project serves both apps: the Angular PWA as static files and the
Nest API as a serverless function behind /api/* (same origin, no CORS).
Full steps: VERCEL.md.
Quick checklist:
- Import the repo at vercel.com/new, keep Root Directory at the repo root
- Set env vars:
DATABASE_URL,JWT_SECRET,PIN_PEPPER - Deploy — verify
https://<project>.vercel.app/api/health
Contributions are welcome. Please open an issue or submit a pull request with clear context and testing notes.
For questions or suggestions: cristiancode2023@gmail.com