📝 Task Manager
Aplikacja webowa do zarządzania zadaniami. Pozwala użytkownikom na tworzenie kont, logowanie się, dodawanie, edytowanie i oznaczanie zadań jako wykonane, edycję profilu oraz usuwanie konta.
📆 Spis treści
- 📖 Wstęp
- 📦 Architektura aplikacji
- 🚀 Jak uruchomić aplikację lokalnie
- ⚙️ Zmienne środowiskowe
- 📅 Dalsze kroki
📖 Wstęp
Task Manager to pełnoprawna aplikacja webowa do zarządzania zadaniami. Projekt składa się z:
- Frontend: Vite + React + TypeScript
- Backend: Flask + SQLAlchemy
- Baza danych (obsługuje bazy MySQL i SQLite)
Funkcjonalności:
- Rejestracja i logowanie użytkowników
- Tworzenie, edycja, usuwanie zadań
- Oznaczanie zadań jako wykonane/niewykonane
- Edycja danych profilu
- Zmiana hasła i usuwanie konta
📦 Architektura aplikacji
🔌 Frontend
- Framework: React
- Komunikacja z API: Axios
💻 Backend / API
- Framework: Flask
- ORM: SQLAlchemy
- Autoryzacja: JWT + CSRF + Cookies
📊 Baza danych
- SQLite (dla developmentu) lub MySQL (zalecane na produkcji)
🚀 Jak uruchomić aplikację lokalnie
✅ Wymagania
- Python 3.10+
- Node.js + npm
- (opcjonalnie) Docker
🔧 Backend
Zanim uruchomisz backend, ustaw zmienną do połączenia z bazą danych w następujący sposób:
- Jeśli zamierzasz wykorzystać MySQL:
- SQLALCHEMY_DATABASE_URI=mysql+mysqlconnector://<nazwa_uzytkownika>:@<nazwa_hosta_bazy_danych>:<port_bazy_danych>/<nazwa_bazy_danych>
- Jeśli zamierzasz skorzystać z SQLite:
- SQLALCHEMY_DATABASE_URI=sqlite:///test.db
- Stwórz i aktywuj wirtualne środowisko:
cd api python -m venv venv source venv/bin/activate
- Zainstaluj zależności:
pip install -r requirements.txt
- Uruchom serwer:
python3 app.py
🖥️ Frontend
- Przejdź do folderu
frontend
:cd frontend
- Zainstaluj zależności:
npm install
- Uruchom frontend:
npm run dev
⚙️ Zmienne środowiskowe
Poniżej lista zmiennych środowiskowych dla backendu:
Nazwa | Wymagana | Opis |
---|---|---|
SQLALCHEMY_DATABASE_URI |
✅ | URI do bazy danych SQLite lub MySQL |
JWT_SECRET_KEY |
❌ | Klucz JWT używany do podpisywania tokenów (zalecane) |
TODOLIST_PORT |
❌ | Port, na którym uruchamia się API (domyślnie 80) |
TODOLIST_ADMIN_USERNAME |
❌ | Nazwa użytkownika będącego domyślnym administratorem obecnym w bazie po inicjalizacji aplikacji (domyślnie admin). |
TODOLIST_ADMIN_EMAIL |
❌ | Adres email domyślnego administratora aplikacji (domyślnie admin@example.pl). |
TODOLIST_ADMIN_PASSWORD |
❌ | Hasło domyślnego administratora aplikacji (zalecane). |
FRONTEND_ORIGIN |
✅ | Adres URL frontendu (np. http://localhost:5173 ) do ustawienia CORS/cookies (wymagany do połączenia frontendu z API, jeśli działają one w osobnych domenach, można podać więcej adresów rozdzielając je przecinkiem) |
Poniżej lista zmiennych środowiskowych dla frontendu:
Nazwa | Wymagana | Opis |
---|---|---|
VITE_API_URL |
✅ | Adres URL backendu, z którym komunikuje się frontend. Ustawiany w pliku frontend/frontend.dockerfile przed zbudowaniem kontenera. Domyślnie /api , wartość tę zmień tylko, jeśli zamierzasz uruchomić backend nie wykorzystując Dockera lub poza siecią frontendu. |
📅 Dalsze kroki
- Przygotowanie stylów CSS dla aplikacji
Autor: Marcin Ramotowski
Licencja: MIT
Description
Languages
TypeScript
49.7%
Python
47.2%
JavaScript
1.5%
Dockerfile
0.9%
HTML
0.7%