📝 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.dockerfileprzed 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%