Giter Site home page Giter Site logo

purely-functional-blog's Introduction

Gatsby Starter Blog with Typescript

This project attempts to make Gatsby's starter blog type-safe. In addition, styled components are used in favor of inline jsx styles.

Features (in addition to the Gatsby Starter)

Roadmap

  • Make onCreateNode type-safe
  • Improved grapql typings generations

Currently, the type graphql type definition file has everything as nullable, so a lot of nested non-null assertions are used when accessing data from queries.

purely-functional-blog's People

Contributors

dependabot[bot] avatar dylansp avatar

Watchers

 avatar  avatar  avatar

purely-functional-blog's Issues

Series: React tutorial (tic-tac-toe)

Start with overview post containing links to each part:

Posts:

  • Part 0: Game logic (no React).
    • How to design game API? Class-based vs. functional/POJO, mutable vs. immutable
    • Development
    • Testing
  • Part 1: React ideas and fundamentals
    • Component-based
    • Top-down data-flow through props
    • JSX/TSX
    • Class and function components
    • Hooks
  • Part 2: Static site iteration 1 - static site, passing state with prop-drilling, hooks, no Redux
    • Sketch UI (Excalidraw?)
    • Break design down into components
    • Build page structure (without attaching logic)
    • Wire in game logic, event handlers
  • Part 3: Testing with Cypress, ensuring stability when refactoring
  • Part 4: Static site iteration 2 - using Context to avoid prop-drilling
    • Motivation and concepts
    • Implementation
  • Part 5: Static site iteration 3 - IoC, composition of components
    • Motivation and concepts
    • Implementation
  • Part 6: Static site iteration 4 - Redux
    • Motivation and concepts (model-view-update)
    • When to use, when not to use
    • Implementation
  • Part 7: Full-stack environment setup
    • Opaque backend - go over routes/API provided (distribute through Docker Compose, with container for backend and container for DB)
  • Part 8: Full-stack site design
    • Sketch expanded UI
    • Introduce react-router
    • Scaffold out site
  • Part 9: Full-stack iteration 1 - useEffect + Redux (or Context/IoC)
  • Part 10: Full-stack iteration 2 - RTK query

Topic: Future of version control systems

Two avenues for major (not incremental) improvement: working with non plaintext, working with large repos
Pijul is neat, but probably not more than incremental improvement.

Topic: "style guide" for code

How I write and low-level design code.

  • Syntactic stuff - use an auto-formatter i.e. prettier
  • Prefer lack of mutation
  • Prefer declarative code
  • Variable scopes as limited as possible
    etc.

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.