Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • app app
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Ludo Pets
  • appapp
  • Merge requests
  • !34

Merged
Created Apr 13, 2025 by Gustavo Pretto Scholze@gustavo.scholzeOwner

Fetch quiz questions from Firestore

  • Overview 0
  • Commits 2
  • Pipelines 1
  • Changes 8

This MR introduces the new function that retrieves all documents from Question collection in Firestore. It maps the fetch data to the Question DTO. Default values are provided for pottentially missing text fields (description, explanation, title) and the image field.

Using the function

import Question from '@/dtos/Question'
import { fetchAllQuestions } from '@/services/fetchAllQuestions'

export default function QuizScreen() {
    const [questions, setQuestions] = useState<Question[]>([])

    const loadQuestions = async () => {
        try {
            const fetchedQuestions = await fetchAllQuestions()
            setQuestions(fetchedQuestions)
        } catch (err: any) {
            setQuestions([])
        }
    }

    useEffect(() => {
        loadQuestions()
    }, [])


    return (
        <View>
            <Text>Quiz Questions</Text>
            <FlatList
                data={questions}
                keyExtractor={(item) => item.id}
                renderItem={({ item }) => (
                    <View>
                        <Text>{item.title}</Text>
                        <Text>
                            {item.description}
                        </Text>
                        <Text>{item.answers}</Text>
                        <Text>
                            {item.rightAnswer}
                        </Text>
                        <Text>
                            {item.explanation}
                        </Text>
                    </View>
                )}
            />
        </View>
    )
}
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: feat/49-fetch-quiz-questions