Geliştirme fazlara bölünecek.
> sprint ler 2 haftalık olacak, ona göre dökümanı ve hikayeleri düzenle
# Faz 1
## App
- Listing
- Place
- Location (distance)
- Payment Methods
- Open/Closed Status
- Place Types
- Auth
- Place Favorite
USER
- id
- name
- email
- password
- confirmed_at
- email_verified_at
- created_at
- updated_at
- deleted_at
PLACE
- id
- name
- phone
- address
- geog
- city_id
- town_id
- district_id
- allows_credit_card
- allows_multinet
- allows_ticket
- allows_sodexo
- allows_setcard
PLACE <-> PLACE TYPE
PLACE TYPE
- id
- name
PLACE_WORKING_DAYS
- id
- place_id
- weekday
- date
- start_at
- end_at
USER EMAIL
- id
- user_id
- email
- status
- verified_at
POST /auth token almak için
username, password, deviceName fieldlar
200, 406(credentials error)*, 422(validation error)
token key'i ile token verilecek
POST /account hesap oluşturma
name, phone(opsiyonel), email, password fieldlar
201(created), 422(validation error)
GET /account giriş yapan kullanıcının bilgileri
Authorization header'ı ile (401)
data içerisinde
id, name, email, isEmailVerified, avatar
PUT /account giriş yapan kullanıcının bilgilerini güncelleme
name, phone fieldlar
Authorization header'ı ile (401)
200(ok), 422(validation error)
POST /account/email/resend yeniden e-posta gönderimi
5dk timeout
email field
200(ok), 422(validation error), 429(timeout)
POST /account/email/verify e-posta onayı
email, code fieldları
200(ok), 422(validation error)
PUT /account/email e-posta güncelleme
email field
password field
Authorization header'ı ile (401)
200(ok), 422(validation error)
güncelleme sonrası yeni ve eski USER_EMAIL içerisinden kalkacak
PUT /account/password parola güncellemesi
password
new_password
Authorization header'ı ile (401)
202(accepted), 422(validation error)
POST /account/password/send parolamı unuttum bağlantısı
email
204(no content)
POST /account/password/reset parolamı sıfırla
email
new_password
code
202(ok), 422(validation error) [new_password, email&code]
PUT /account/avatar avatar yükleme için
response body = file
Authorization header'ı ile (401)
200(ok), 422(validation error), 415(mimetype not supported)
DELETE /account/avatar avatarı kaldırmak için
Authorization header'ı ile (401)
204(removed)
GET /places hizmet veren listesi
REQUEST
- keyword (metin arama)
- lat, long (konumu)
- distance (max mesafe)
- city_id, town_id, district_id (konum)
- allows[*]
- types[*] (OR filtresi)
- is_favorited
- sort[created_at,distance*]
açıklar başta olacak
RESPONSE
- data içerisinde
- id (uuid)
- name
- distance
- types
- isFavorite
- isOpen
- meta (sayfalama)
GET /places/:place hizmet veren detayı
REQUEST
- lat, long (konumu) (opsiyonel)
RESPONSE
- data içerisinde
- id (uuid)
- name
- distance
- types
- isFavorite
- isOpen
- phone
- lat, long
- city
- town
- district
- allows_credit_card
- allows_multinet
- allows_ticket
- allows_sodexo
- allows_setcard
- workingDays
- tarih, saat aralığı ikilisi
POST /places/:place/favorite giriş yapmış kullanıcıyı place için favorile
201(created), 401(authorization)
DELETE /places/:place/favorite giriş yapmış kullanıcıyı place için favorilerden kaldır
204(no content), 401(authorization)
## Place Office
- Application Status (bunu phase 4'e alalım, Orkun'a sor)
- Place Management
- Change open/closed status
- Payment method minimum prices
## Back-Office
- Place Applications
- Place Management
- Seeding (find provider)
- User Listing (sonradan eklendi, Orkun'a sor)
# Faz 2
## App
- Application Products
- Place
- Menu (Category&Product)
- Rating Calculation
- Gallery
- Place Features
- User
- Commenting to place (without photo)
- Report Comment
- Like/Dislike comment
## Place Office
- Place Management
- Gallery
# Faz 3
## App
- Reservation
- Check-in
- Notification System
## Place Office
- Reservation Status
- Reservation Check-In Time
- Rezervasyon oturma süresi
# Faz 4
## Landing
- Product Promotion
- Place Applications
## App
- QR Code / Pin
## Place Office
- Table/Spot management
- Product Options (Product Questions)
# Faz 5
## App
- Invoice
- Comment
- Order & Basket
- Product Options (Questions and Answers)
- Status
- Payment Request
## Place Office
- Live
- Payment Request notifications
- Orders
- Invoices
# Faz 6
## App
- Online Payment
## Place Office
- Live
- Paid invoice notifications