Todo-nestjs-svelte Svelte Themes

Todo Nestjs Svelte

NestJS Todo App

Description

Une application complète de gestion de tâches (todo) construite avec NestJS pour le backend et Svelte pour le frontend. Cette application permet de créer, lire, mettre à jour et supprimer des tâches, avec des fonctionnalités supplémentaires comme le filtrage, le tri et la gestion de l'état des tâches.

Fonctionnalités

Gestion complète des tâches (CRUD)

  • ✅ Création de nouvelles tâches
  • 📄 Lecture des tâches existantes
  • ✏️ Mise à jour des tâches (titre, description, état)
  • 🗑️ Suppression des tâches

Interface utilisateur intuitive

  • 📝 Formulaire pour ajouter/modifier des tâches
  • 📋 Affichage des tâches en cartes
  • ✅ Indicateurs visuels pour les tâches terminées

Filtrage et tri

  • 🔍 Filtrer par état (toutes, en cours, terminées)
  • 📅 Trier par date (plus récentes, plus anciennes)

Architecture robuste

  • ⚙️ Backend NestJS avec TypeORM
  • 💡 Frontend Svelte réactif
  • 🔐 Communication API REST sécurisée

Technologies utilisées

Backend

  • NestJS : Framework Node.js progressif
  • TypeORM : ORM pour PostgreSQL
  • PostgreSQL : Base de données relationnelle
  • Class-validator : Validation des DTOs

Frontend

  • Svelte : Framework JS compilé
  • TypeScript : Superset JavaScript typé
  • CSS3 : Pour le style des composants

Installation

Prérequis

  • Node.js (v14+)
  • npm ou yarn
  • Docker et Docker Compose

Configuration

git clone [email protected]:monkeyDkz/Todo-nestjs-svelte.git
cd todo

Lancer avec Docker

docker-compose up --build

Mode d'emploi

Frontend : http://localhost:3000

Utilisation

  1. Ajouter une tâche : Formulaire avec titre et description
  2. Afficher les tâches : Cartes avec infos, état, boutons
  3. Filtrer : Toutes / En cours / Terminées
  4. Trier : Plus récentes / Plus anciennes
  5. Modifier : Bouton "Editer" pour charger la tâche dans le formulaire
  6. Compléter : Toggle via bouton avec icône
  7. Supprimer : Bouton "Supprimer" directement sur la carte

Structure du projet

API Endpoints (NestJS)

GET     /todos
GET     /todos/:id
POST    /todos
PATCH   /todos/:id
DELETE  /todos/:id

Dépannage

Problèmes fréquents

  • Docker ne démarre pas : Vérifiez qu'il est lancé
  • Les tâches ne s'affichent pas : Vérifiez la base PostgreSQL et les logs backend
  • Erreurs dans le navigateur : Vérifiez la console (CORS/API offline)

Redémarrer l'application

docker-compose down -v
docker-compose up --build

Réinitialiser la base de données

docker-compose down -v

Fichiers principaux

Frontend (Svelte)

  • FormTodo.svelte : Formulaire d'ajout/modif
  • Todo.svelte : Carte individuelle
  • Todos.svelte : Liste + filtres + tri
  • api.ts : Fonctions fetch vers l'API

Backend (NestJS)

  • todo.entity.ts : Modèle de données
  • todos.service.ts : Logique métier
  • todos.controller.ts : Contrôleur REST

Développement

Frontend

cd frontend
npm install
npm run dev

Backend

cd backend
npm install
npm run start:dev

Tests

# Backend
cd backend
npm run test

Déploiement

  1. Clonez le repo sur un serveur
  2. Configurez .env
  3. Lancez :
    docker-compose up -d
    

Variables d'environnement

DATABASE_URL=postgres://user:password@db:5432/todos

Contribuer

# Fork + Branch
git checkout -b feature/ma-super-fonction
# Dev + Commit
# Push + PR

Contact

Zahidi Kays — — kays.zahidi@gmail.com

Projet : git@github.com:monkeyDkz/Todo-nestjs-svelte.git

Roadmap

  • 🔐 Authentification utilisateur
  • 📆 Dates d’échéance
  • 🔎 Recherche de tâches
  • 👥 Partage de listes
  • 📱 App mobile React Native

Remerciements

  • NestJS
  • Svelte
  • PostgreSQL
  • Docker
  • TypeORM

Top categories

Loading Svelte Themes