A projektem célja egy modern, webes feladat- és időmenedzsment alkalmazás fejlesztése, amely lehetővé teszi a napi teendők rögzítését, kezelését, állapotuk követését és határidőhöz rendelését. Az alkalmazás főbb funkciói:
- Feladatok létrehozása, szerkesztése, törlése.
- Feladatokhoz határidő rendelése, állapot (függőben/kész) módosítása.
- Átlátható, felhasználóbarát felület.
- Több nyelv támogatása (magyar/angol).
- Sötét/világos mód támogatása.
- Frontend:
- React.js: Modern, komponens-alapú felépítés.
- Tailwind CSS: Utility-first CSS framework, gyors, reszponzív, könnyen testreszabható.
- react-i18next: Egyszerű többnyelvűség támogatás.
- Backend:
- Python + FastAPI: Gyors fejlesztés, aszinkron támogatás, automatikus OpenAPI dokumentáció.
- SQLite: Egyszerű, fejlesztéshez ideális, nincs szükség külön szerverre.
- Egyéb:
- Vite: Gyors fejlesztői szerver.
- Node.js: Frontend fejlesztői környezethez.
-
Környezeti előfeltételek:
- Python 3.8+
- Node.js 16+
- Git
-
Projekt klónozása:
git clone https://github.com/IrepY/task-do/ cd task-do -
Python virtuális környezet létrehozása és aktiválása:
python -m venv venv # Windows: (Powershell-ben) venv\Scripts\activate.ps1 Amennyiben ez nem működik, először ezt kell futtatni egy adminisztrátor joggal rendelkező powershellben: Set-ExecutionPolicy RemoteSigned -> A (Yes to All) # Linux/Mac: source venv/bin/activate -
Backend-hez szükséges modulok telepítése:
pip install fastapi uvicorn -
Backend szerver indítása:
cd backend uvicorn main:app --reload -
Frontend telepítése és indítása (új terminálban):
cd task-manager-frontend npm install npm run dev -
Alkalmazás elérése:
- Nyisd meg a böngészőben: http://localhost:5173/
A rendszer két fő komponensből áll:
- Backend (API szerver): REST API FastAPI-vel, SQLite adatbázissal.
- Frontend: React-alapú egyoldalas alkalmazás, Tailwind CSS-sel.
- main.py: FastAPI alkalmazás, CRUD végpontok
/tasksútvonalon. - db.py: SQLite kapcsolat és inicializálás.
- Adatmodell:
Task: id, title, description, completed, due_date mezőkkel.
- Funkciók:
- Feladatok lekérdezése, létrehozása, módosítása (részleges PATCH), törlése.
- Hibakezelés, státuszkódok, CORS támogatás.
- React komponensek:
App.jsx: Fő komponens, nézetváltás, állapotkezelés.TaskList,TaskItem,TaskDetailView,TaskForm: Feladatok listázása, részletei, szerkesztése, hozzáadása.MenuPanel,MenuItem: Oldalsó menü, navigáció.SettingsView,ProfileView,AboutView: Beállítások, profil, névjegy.
- Állapotkezelés:
- React
useState,useEffect,useCallbackhookok. - Feladatok listája, kiválasztott feladat, animációs állapotok.
- React
- API kommunikáció:
apiService.js: REST hívások a FastAPI backendhez.
- Nemzetköziesítés:
i18n.js, fordítási JSON-ok.
- Reszponzivitás:
- Saját
useMediaQueryhook, Tailwind breakpoints.
- Saját
- Sötét/világos mód:
- Tailwind dark mode, localStorage-ban tárolt beállítás.
- Feladat létrehozás:
- Űrlap kitöltése → POST
/tasks→ lista frissül.
- Űrlap kitöltése → POST
- Feladat szerkesztés:
- Részletek nézetben szerkesztés → PATCH
/tasks/{id}→ lista frissül.
- Részletek nézetben szerkesztés → PATCH
- Feladat törlés:
- Törlés gomb → DELETE
/tasks/{id}→ animáció, lista frissül.
- Törlés gomb → DELETE
- Állapotváltás:
- Kész/függőben kapcsoló → PATCH
/tasks/{id}.
- Kész/függőben kapcsoló → PATCH
- Backend oldalon HTTP státuszkódok, részletes hibaüzenetek.
- Frontenden felhasználóbarát hibaüzenetek, visszaállítás sikertelen művelet esetén.
- A rendszer fejlesztői és teszt környezetben SQLite-ot használ, így nem igényel külön adatbázis szervert.
- A frontend és backend külön fejlesztői szerveren fut, CORS beállításokkal.




