Projekta objekts:
REST JSON API, kurš ģenerē automātiski aptaujas un ir modulis pie Quizzes dashboard
Valodas: Latviešu, Angļu, Spāņu, Portugāļu
Pilot-klients: FC Rīga
No FanApps puses kontaktpersona par projektu: arturs@fanapps.io, +37128263904 linda@fanapps.io, +37125997012
Ground truth paraugi kādā līmenī nepieciešamas atbildes: http://share.yellowrobot.xyz/quick/2024-1-11-E7B7165D-FFA0-4A45-A8EE-EB7D282C860F.pdf
Figma Dizaini gala sistēmai FanApps pusē: https://www.figma.com/proto/rARhemzAXwxEk8nQNzRdmN/UseAward?page-id=611%3A19510&type=design&node-id=1361-20119&viewport=4970%2C-896%2C0.06&t=Lg5h2E0cKkcNB8qg-1&scaling=scale-down-width&starting-point-node-id=1361%3A20119&mode=design
Plāns:
FastAPI Swagger based API
Deadline: 19. janvāris
PDF Failu pievienošana, lai ģenerētu quizzes (testēšanai FC rīga lapas saglabāt kā PDF)
Deadline: 19. janvāris
Pirmā versija, kas ģenerē quizzes
Deadline: 26. janvāris
URL pievienošana HTML formātā
Deadline: 2. februāris
Sagatavot sistēmu, lai spēj automātiski paņemt jaunākos kluba datus API, lai varētu pa jaunu uzģerēt aptaujas (sākotnēji FC Rīga), katram API būtu jāpielāgo datu sagatavošana. Jānoskaidro precīzi un jāvienojas kā dati nonāks
Deadline:
februāris
API funkcijas (autentifikācija ar API key)
add_client (api_key: str, name: str) -> client_uuid: str
delete_clients (api_key: str, client_uuids: str[])
list_clients(api_key: str) -> Client[]
add_sources_file (api_key: str, client_uuid, file:FileUpload, tags: str[]) -> fact_uuid ^ PDF formātā sākotnēji
add_sources_url (api_key: str, client_uuid, url: str, tags: str[]) -> fact_uuid
list_sources(api_key: str,client_uuid) -> Source[]
update_sources(api_key: str,client_uuid, sources: Source[])
delete_sources(api_key: str,client_uuid, sources_uuids: str[])
add_fact (api_key: str, client_uuid, text:str, tags: str[]) -> fact_uuid ^ Lai no ārējiem API var glabāt jaunāko informāciju
list_facts(api_key: str, client_uuid) -> Fact[]
update_facts(api_key: str, client_uuid, Fact[])
delete_facts(api_key: str, client_uuid, facts_uuids: str[])
generate_questions(api_key: str, client_uuid, language_code:str, tags: str[], callback_url:str) -> batch_uuid
list_questions(api_key: str, client_uuid, batch_uuid) -> Question[] ^ gatavi pēc 5min
update_questions(api_key: str, client_uuid, questions: Question[]) ^ Nepieciešams, lai mēs reģistrētu izmantototos jautājumus un novērstu to atkārtošanos
list_question_batches(api_key: str, client_uuid) -> Batch[]
list_questions(api_key: str, client_uuid, batch_uuid) -> Question[]
delete_questions(api_key: str, client_id, questions_uuids: str[])
Komentāri:
Pēc faktu ielādes ir jāpagaida līdz tie tiek noprocesēti
Pēc jautājumu pievienošanas jāgaida līdz tie tiek noprocesēti
Jāmēģina mazināt jautājumu atkārtošanos, bet tas nav kritski, ja jautājumi sāk atkārtoties, tad jāpievieno vēl faili vai avoti.
visām datu struktūrām jābūt dataclasse_json sadalītām Model View Controller
Valodas nosakaa automātiski sources un facts
Labāk biežāk tabulām likt klāt foreign key, lai varētu ātrāk piekļūt datiem
Tags norāda klienti paši, ja neeksistē, tad tiek pievienots jauns tags
No sākuma by default ir viena organizācija, kas ir FanApps, bet var pievienot vēl organizācijas, kuras var pievienot klientus. Klienti var būt gan organizācijas, gan arī atsevišķi.