Git Product home page Git Product logo

lautapeli_app's Introduction

Hello

I'm Veikko, a 500x rockstar cowboy kickass hacker programmer with a passion in

  • Human-computer interaction
  • Generative Art & Demoscene
  • Graphics & Game programming
  • Data science & ML
  • Astronomy

Check out my latest project, called git-viz, which kind of combines 4/5 of those...

At my job, I write javascript

At my past time, I write javascript (surprised pikachu here)

I also have a website with random apps in it:

veikkosuhonen.vercel.app

My GH Avatar is a cosmic Araucana chicken named Pannu with the Running chicken nebula in the background ^^

lautapeli_app's People

Contributors

veikkosuhonen avatar

Stargazers

 avatar

Watchers

 avatar

lautapeli_app's Issues

Full Stack projektin katselmointi

Full Stack projektin katselmointi

Terve @Veikkosuhonen! Tässä lyhyt katselmointi Full Stack kurssin projektistasi. Katselmoinnissa esitetyt kommentit ovat parannusehdotuksia, joita voit halutessasi ottaa huomioon tässä tai tulevissa projekteissasi. Mitään muutoksia tähän projektiin ei siis ole pakko tehdä suoritusmerkintää varten.

Käytettävyys

Mitä tein?

  • Rekisteröin uuden käyttäjän ja kirjauduin sisään
  • Selasin pelejä, testasin hakua ja järjestämistä
  • Lisäsin uuden pelin ja session
  • Kirjauduin ulos

Kokemus

  • Lautapeli-sovelluksella on tyylikäs ja helppokäyttöinen käyttöliittymä, hienoa työtä! 💎
  • Selkeät notifikaatiot
  • Sovelluksen käyttöönottoa nopeuttaisi, jos rekisteröitymisen jälkeen käyttäjä kirjautuisi automaattisesti sisään
  • Boardgames-sivun haku voisi toimia kirjainkoosta riippumatta. Esim. "Sh" tuottaa tuloksia mutta "sh" ei
  • "Recent activity"-näkymä on näppärä

Koodi

  • Frontend-puolen koodi on selkeästi organisoitua, hyvä!

  • Tailwindin kanssa kannattaa kokeilla JIT-modea

  • API-kutsut on abstrahoitu hyvin uudellenkäytettäviksi palveluiksi services-hakemistoon

  • Kaikkea dataa ei kannata ladata kerralla, vaan ladata se sitä tarvitsevassa komponentissa

  • API-kutsuihin liittyvät operaatiot tuottavat jonkin verran toisteellista boilerplate-koodia. Esimerkiksi React Query kirjaston avulla API-kutsut voi helposti abstrahoida yksinkertaisiksi hookeiksi, kuten useBoardGames:

    import { useQuery } from 'react-query'
    
    import bgService from '../services/boardgameService'
    
    const useBoardGames = () => {
      const queryKey = ['boardGames']
    
      const queryFn = () => {
        return bgService.getAll()
      }
    
      const { data, ...rest } = useQuery(queryKey, queryFn)
    
      return { boardGames: data, ...rest }
    }
    
    export default useBoardGames
  • Tämän voisi ehkä abstrahoida useCurrentUser-hookiksi

  • Tämän voisi siirtää Login-komponenttiin. Kirjautuneen käyttäjän tilan voisi siirtää esim. Reduxiin, koska se vaikuttaa olevan globaalia tilaa

  • Ehkä yksi Button-komponentti riittäisi? Tyyliä voi varioida propsilla:

    <Button>Secondary</Button>
    <Button variant="primary">Primary</Button>
  • Tähän käyttötarkoitukseen kätevä kirjasto on classnames

  • Formik-kirjastossa voisi olla hyötyä lomakkeiden tilanhallinnassa ja validoinnissa

  • Myös backend-puolen koodi on selkeästi organisoitua, hienoa!

  • Dockerfilessä kannattaa ensin kopioida package.json ja package-lock.json tiedostot, niin Dockerin välimuistia käytetään tehokkaammin:

    FROM node:17
    
    COPY package*.json ./
    
    RUN npm install
    
    COPY . .
    
    EXPOSE 3001
    
    CMD [ "npm", "start" ]
    
  • Middlewareja on hyödynnetty hyvin. Auth-middlewaressa autentikoidun käyttäjän voisi laittaa req-objektiin, niin siihen pääsisi käsiksi kontrollreissa esim. req.user

  • Tässä toJSON-metodia kutsutaan automaattisesti

  • Kattavan näköistä API-testausta

  • Hyvän näköinen CI-putki. Backendin puolella voisi ajaa vielä ESLintin. Sillä huomaa yllättävän paljon esim. typoista syntyviä bugeja ja koodin laatu pysyy hyvänä

Kokonaisuus

Lautapeli-sovelluksesta löytyy käyttötarkoitukseen tarvittava toiminallisuus. Sovelluksen käyttökokemus oli katselmoinnin puitteissa hyvä, bugeja tai erityisiä käytettävyysongelmia ei ilmennyt. Projektin koodi on järkevästi organisoitua ja laadultaan melko hyvää. Frontendin koodille tekee ihmeitä, kun sovelluslogiikan koodia siirtää uudelleenkäytettäviin hookkeihin. Hyvää työtä!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.