Added documentation for the project
This commit is contained in:
parent
e1677b308e
commit
79985440af
123
README.md
Normal file
123
README.md
Normal file
@ -0,0 +1,123 @@
|
||||
# 📝 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](#-wstęp)
|
||||
- [📦 Architektura aplikacji](#-architektura-aplikacji)
|
||||
- [🚀 Jak uruchomić aplikację lokalnie](#-jak-uruchomić-aplikację-lokalnie)
|
||||
- [⚙️ Zmienne środowiskowe](#⚙️-zmienne-środowiskowe)
|
||||
- [📅 Dalsze kroki](#-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
|
||||
|
||||
1. Stwórz i aktywuj wirtualne środowisko:
|
||||
```bash
|
||||
python -m venv venv
|
||||
source venv/bin/activate
|
||||
```
|
||||
2. Zainstaluj zależności:
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
3. Utwórz plik `.env` na bazie `.env.example` i uzupełnij dane
|
||||
4. Uruchom serwer:
|
||||
```bash
|
||||
uvicorn app.main:app --reload
|
||||
```
|
||||
|
||||
### 🖥️ Frontend
|
||||
|
||||
1. Przejdź do folderu `frontend`:
|
||||
```bash
|
||||
cd frontend
|
||||
```
|
||||
2. Zainstaluj zależności:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
3. Uruchom frontend:
|
||||
```bash
|
||||
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) |
|
||||
| `API_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, można podać więcej adresów rozdzielając je przecinkiem) |
|
||||
|
||||
---
|
||||
|
||||
## 📅 Dalsze kroki
|
||||
|
||||
- Przygotowanie stylów CSS dla aplikacji
|
||||
- Skonteneryzowanie warstwy frontendowej aplikacji
|
||||
|
||||
---
|
||||
|
||||
Autor: *Marcin Ramotowski*\
|
||||
Licencja: MIT
|
||||
|
||||
---
|
||||
|
Loading…
x
Reference in New Issue
Block a user