Skip to content
annkar73Public

About

word match memory game

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

WordMatch

GĂ„ till 🇾đŸ‡Ș svensk version

Background

This project was created as a degree project for my Front-End Developer education at Medieinstitutet.

Project Overview

The Word Match Game is a memory game where players match images with corresponding words. The game has different difficulty levels based on word length or random selection from all levels. Additionally, a classic memory game version is included, offering a simple and relaxing gameplay experience. The classic version has two board sizes: 4x4 (8 pairs) and 6x6 (18 pairs).

Application Flow

Application Flow

Purpose

The Word Match Game was inspired by playing similar word games with my son to help him connect letters to words and objects. These games made learning fun, leading to the idea of creating a digital version for others to enjoy. This project offers an engaging educational tool that enhances literacy skills, bridging the gap between visual and linguistic learning.

Target Audience

  • Children (3-6 years old): The game is designed to support early literacy development, offering an engaging learning experience.
  • Parents: Seeking educational and fun resources for their children's literacy development.
  • Educators: Looking for innovative, interactive methods to teach students.

Features

1. Home Page

  • Users are presented with a button to navigate to a games overview page.
  • Navigation bar with links to the game modes and additional resources like FAQ and Contact.

2. Games Overview Page

  • Users are presented with two buttons navigating to the separate versions of the game:
    • WordMatching Game View:
      • Displays a grid of cards with images and words.
      • Displays a drop-down difficulty selector.
      • Displays a mute button to turn off game sounds.
      • Displays a button for option to start over or play again.
      • Tracks user interactions to check if the selected image matches the word.
      • Provides audio feedback for correct matches.
      • Displays a game over modal when all pairs are matched.
    • Classic Memory Game View:
      • Displays a grid of image cards.
      • Displays a drop-down game size selector.
      • Displays a mute button to turn off game sounds.
      • Displays a button for option to start over or play again.
      • Tracks user interactions to find matching pairs.
      • Provides audio feedback for correct matches.
      • Displays a game over modal when all pairs are matched.

3. Game Over Modal

  • Displays a message of “well done” when the game is over.
  • Displays a button to close the modal to play again.

4. FAQ / More Info

  • Displays a fold-out list of questions and answers about the games, background of the project, and information about contact.

5. Contact

  • Displays a contact form for users to fill in for feedback or questions.
  • The contact form uses EmailJS for client-side technologies only. No server is required – one just connects EmailJS to one of the supported email services.

Project Goals

The goal was to create a fully functional educational game with:

  • User-friendly interface and intuitive gameplay
  • Different difficulty levels based on word length
  • Random word selection across all levels The game aims to help children develop reading skills in an enjoyable and supportive environment.

Tech Stack

  • Vite: Fast development environment
  • React with Styled Components: Building the UI and game logic
  • TypeScript: For type safety and clarity
  • Framer-Motion: Animations and transitions

Technical Breakdown

Frontend

  • React (with TypeScript): Manages UI components, routing, and game logic.
  • Styled Components: Dynamic styling based on game state.

Backend

  • Supabase PostgreSQL Database: Stores image-urls, words, and matching identifiers.

Routing and Navigation

  • React Router: Manages transitions between views for smooth navigation.

Game Logic

  • The game shares a reusable fetch function to handle both game modes and difficulty settings.

Assets and Storage

  • Supabase Storage Bucket: Hosts images used in both game modes.

Deployment

  • Hosted on Netlify with continuous deployment and responsive performance. Supabase configuration extension is also integrated.

Database Structure

Database Structure

Summary

The app is modular and scalable, with clear separation between game modes and logic. It uses Supabase for efficient data storage and Vite/React for a responsive and engaging frontend. This architecture ensures a smooth and intuitive experience for users of all ages.

Screenshots

See bottom of page for screenshots of project


OrdMatch

Go to 🇬🇧 English Version

Bakgrund

Detta projekt skapades som ett examensprojekt för min utbildning som Front-End Developer pÄ Medieinstitutet.

Projektöversikt

OrdMatch Àr ett memoryspel dÀr spelarna matchar bilder med motsvarande ord. Spelet har olika svÄrighetsgrader baserat pÄ ordlÀngd eller en slumpmÀssig urval frÄn alla nivÄer. Dessutom finns en klassisk version av Memory, som erbjuder en enkel och avkopplande spelupplevelse. Den klassiska versionen har tvÄ olika brÀdesstorlekar: 4x4 (8 par) och 6x6 (18 par).

Applikationsflöde

Applikationsflöde

Syfte

Idén till OrdMatch kom frÄn att leka liknande ordlekar med min son för att hjÀlpa honom att koppla ihop bokstÀver med ord och objekt. Dessa spel gjorde lÀrandet roligt, vilket ledde till idén att skapa en digital version för andra att njuta av.
Projektet erbjuder ett engagerande utbildningsverktyg som förbÀttrar lÀsfÀrdigheter och skapar en bro mellan visuell och sprÄklig inlÀrning.

MÄlgrupp

  • Barn (3-6 Ă„r gamla): Spelet Ă€r utformat för att stödja tidig lĂ€s- och skrivutveckling och erbjuder en engagerande lĂ€randeupplevelse via lek.
  • FörĂ€ldrar: Söker pedagogiska och roliga resurser för sina barns lĂ€sutveckling.
  • Pedagoger: Letar efter innovativa, interaktiva metoder för att undervisa elever.

Funktioner

1. Startsida

  • AnvĂ€ndare presenteras med en knapp för att navigera till en översiktssida för spelen.
  • Navigeringsmeny med lĂ€nkar till spelmoderna och ytterligare resurser som FAQ och Kontakt.

2. Spelöversikt

  • AnvĂ€ndare presenteras med tvĂ„ knappar för att navigera till de separata versionerna av spelet:
    • Ordmatchnings-spelvy:
      • Visar ett rutnĂ€t med kort som har bilder och ord.
      • Visar en rullgardinsmeny för att vĂ€lja svĂ„righetsgrad.
      • Visar en knapp för att stĂ€nga av ljudet.
      • Visar en knapp för att börja om eller spela igen.
      • SpĂ„rar anvĂ€ndarinteraktioner för att kontrollera om den valda bilden matchar ordet.
      • Ger ljudfeedback för rĂ€tt matchningar.
      • Visar en modal för "spel slut" nĂ€r alla par har matchats.
    • Klassisk Memory-spelvy:
      • Visar ett rutnĂ€t med bildkort.
      • Visar en rullgardinsmeny för att vĂ€lja spelstorlek.
      • Visar en knapp för att stĂ€nga av ljudet.
      • Visar en knapp för att börja om eller spela igen.
      • SpĂ„rar anvĂ€ndarinteraktioner för att hitta matchande par.
      • Ger ljudfeedback för rĂ€tt matchningar.
      • Visar en modal för "spel slut" nĂ€r alla par har matchats.

3. Spel Slut Modal

  • Visar ett meddelande med "bra jobbat" nĂ€r spelet Ă€r slut.
  • Visar en knapp för att stĂ€nga modalen och börja om.

4. FAQ / Mer Information

  • Visar en vikbar lista med frĂ„gor och svar om spelen, projektets bakgrund och information om kontakt.

5. Kontakt

  • Visar ett kontaktformulĂ€r som anvĂ€ndarna kan fylla i för feedback eller frĂ„gor.
  • KontaktformulĂ€ret anvĂ€nder EmailJS för endast klientteknologier. Ingen server krĂ€vs – man kopplar bara EmailJS till en av de stödda e-posttjĂ€nsterna.

ProjektmÄl

MÄlet var att skapa ett fullt fungerande utbildningsspel med:

  • AnvĂ€ndarvĂ€nligt grĂ€nssnitt och intuitiv spelmekanik
  • Olika svĂ„righetsgrader baserat pĂ„ ordlĂ€ngd
  • SlumpmĂ€ssigt urval av ord frĂ„n alla nivĂ„er Spelet syftar till att hjĂ€lpa barn att utveckla lĂ€sfĂ€rdigheter i en rolig och stödjande miljö.

Teknikstack

  • Vite: Snabb utvecklingsmiljö
  • React med Styled Components: Bygger UI och spel-logik
  • TypeScript: För typ-sĂ€kerhet och tydlighet
  • Framer-Motion: Animationer och övergĂ„ngar

Teknisk uppdelning

Frontend

  • React (med TypeScript): Hanterar UI-komponenter, routing och spel-logik.
  • Styled Components: Dynamisk styling baserat pĂ„ spelets tillstĂ„nd.

Backend

  • Supabase PostgreSQL-databas: Lagrar bildlĂ€nkar, ord och matchande identifierare.

Routing och navigering

  • React Router: Hanterar övergĂ„ngar mellan vyer för smidig navigering.

Spellogik

  • Spelet delar en Ă„teranvĂ€ndbar fetch-funktion för att hantera bĂ„da spelmoderna och svĂ„righetsinstĂ€llningarna.

TillgÄngar och lagring

  • Supabase Storage Bucket: Lagrar bilder för bĂ„da spelmoderna.

Deployment

  • Hostat pĂ„ Netlify med kontinuerlig deployment och responsiv prestanda. TillĂ€gg för Supabase-konfiguration Ă€r ocksĂ„ integrerad.

Databasstruktur

Databasstruktur

Sammanfattning

Appen Àr modulÀr och responsiv med tydlig separation mellan spelmoderna och logik. Den anvÀnder Supabase för effektiv datalagring och Vite/React för ett responsivt och engagerande frontend. Denna arkitektur sÀkerstÀller en smidig och intuitiv upplevelse för anvÀndare i alla Äldrar.

Screenshots / SkÀrmbilder

Start Page / Startsida

Landing page Light theme / Startsida med ljust tema Landing Page Dark theme / Startsida med mörkt tema
🇬🇧 The start page where users can navigate to different game modes

🇾đŸ‡Ș Startsida dĂ€r anvĂ€ndaren kan navigera till de olika spelversionerna

Game Overview / Spelöversikt

Game overview Light theme / Spelöversikt med ljust tema Game overview Dark theme / Spelöversikt med mörkt tema
🇬🇧 The game overview displaying available game modes

🇾đŸ‡Ș Spelöversikt dĂ€r anvĂ€ndaren kan vĂ€lja mellan de olika spelversionerna

Word Match / Matcha Ord

Word Match Light theme / Matcha Ord med ljust tema
🇬🇧 Gameplay for WordMatch

🇾đŸ‡Ș SpellĂ€get för Matcha Ord

Classic Memory / Klassiskt Memory

Classic Memory Dark theme / Klassisk Memory med mörkt tema
Gameplay for Classic Memory

🇾đŸ‡Ș SpellĂ€get Klassisk Memory

Game Over / Spel avslutat

Screen showing Game Over / SkÀrm som visar avslutat spel
🇬🇧 Screen showing Game Over

🇾đŸ‡Ș SkĂ€rm som visar avslutat spel

More Info / Mer Info

FAQ Light theme / FAQ med ljust tema FAQ Dark theme / FAQ med mörkt tema
🇬🇧 FAQ page providing additional information about the game

🇾đŸ‡Ș FAQ-sidan med mer information om spelet

Contact Page / Kontaktsida

Contact Page Light theme / Kontaktsida med ljust tema Contact Page Dark theme / Kontaktsida med mörkt tema
🇬🇧 The contact page where users can get in touch via a contact form

🇾đŸ‡Ș Kontaktsidan dĂ€r anvĂ€ndaren kan ta kontakt via ett kontaktformulĂ€r

Mobile Navigation / Mobil navigation

Mobile Navigation Light theme / Navigationsmeny mobilversion ljust tema Mobile Navigation Dark theme / Navigationsmeny mobilversion mörkt tema
🇬🇧 Navigation menu as displayed on mobile devices

🇾đŸ‡Ș Navigationsmenyn i mobilvy

About

word match memory game

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages