Coder Social home page Coder Social logo

bespoyasov / explicit-design Goto Github PK

View Code? Open in Web Editor NEW
95.0 4.0 9.0 933 KB

Source code for the “Explicit Design” post series.

HTML 2.11% TypeScript 90.52% CSS 7.37%
architecture cohesion coupling domain-modelling explicit-architecture explicit-intents functional-architecture functional-core functional-programming inversion-of-control

explicit-design's Introduction

console.log('Hej!')

Hi! I'm Alex 👋

I'm a software developer and educator. Currently working at 0+X and living in Stockholm.

I help companies develop, release, and maintain their projects; mentor and teach students software development and system architecture; share my knowledge and experience through my blog and books.

ProjectsBlogTalksSupport 💖


0+XLinkedInTwitter

explicit-design's People

Contributors

bespoyasov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

explicit-design's Issues

Как встроить слой доступа?

Прекрасная серия статей по архитектуре 👍

Когда я начал примерять этот подход на свое приложение, столкнулся с проблемой авторизации.

Во-первых что я понимаю под авторизацией — часть кода которая отвечает за получение и обновление токена доступа (не более).

Авторизация затрагивает все приложение: токен доступа передается при запросах в API, необходимо проверять его наличие прежде чем вызывать юзкейсы. Поскольку она настолько глобальна, думаю будет правильным положить в services с такими ручками:

export type CreateAccessToken = () => Promise<string>
export type GetAccessToken = () => string;
export type RefreshAccessToken = () => Promise<string>

Далее передать его в запрос API можно в самой фиче:

/features/notes/infrastructure/api

const getNotes = createGetNotes({ request, getAccessToken, refreshAccessToken });

Но не понятно как наличие доступа работает с юзкейсами. Поскольку это не бизнес логика, то проверять токен внутри юзкейса не правильно. На сколько я понял выше юзкейса находится UI, а там эту проверку думаю не стоит делать. Плюс есть юзкейсы которые запускаются по событиям, получается надо где-то отлавливать нужные события и создавать новые "авторизованные события".

Буду рад любым референсам где можно подчерпнуть информации по этому поводу

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.