code-corps / code-corps/code-corps-api

RFC: Bounded Contexts for CodeCorps API and Phoenix 1.3+

Open
#863 4 comments 0 reactions 0 assignees View on GitHub
RFC
Dominant language
Elixir
Stars
234
Forks
82
PR merge metrics
No merged PRs in 30d

Description

# Problem

#749 deals with upgrading to phoenix 1.3

However, part of that upgrade is the encouragement to switch from a flat layer of models/schemas into a concept of bounded contexts

This would facilitate management, maintainability and understanding of the code, but requires some research and discussion before it can be attempted.

I'm already doing some reading, but I would not feel confident in doing this alone, so any ideas are welcome.

# Some links to go through:

- https://martinfowler.com/bliki/BoundedContext.html
- https://robots.thoughtbot.com/lessons-from-using-phoenix-1-3

# Initial ideas for boundaries

- `CodeCorps.Account` - creation of accounts, signing in, reseting password, etc, etc
- probably `UserRole`, `UserSkill`, `UserCategory`, etc, would go here to

- `CodeCorps.Forum/ProjectManagement` - Projects, Tasks, Comments, Memberships, etc
- probably `ProjectRole`, `ProjectSkill`, `ProjectCategory`, `TaskSkill`, would go here

- `CodeCorps.Funding/.Stripe/.Payments/.Subscriptions` - Stripe/payment stuff
- `CodeCorps.GithubIntegration`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.