Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EPIC: Update MVP App to Latest Phoenix with auth_plug #89

Closed
28 tasks done
nelsonic opened this issue Jun 18, 2022 · 62 comments
Closed
28 tasks done

EPIC: Update MVP App to Latest Phoenix with auth_plug #89

nelsonic opened this issue Jun 18, 2022 · 62 comments
Labels
awaiting-review An issue or pull request that needs to be reviewed chore a tedious but necessary task often paying technical debt discuss Share your constructive thoughts on how to make progress with this issue epic A feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues. help wanted If you can help make progress with this issue, please comment! priority-1 Highest priority issue. This is costing us money every minute that passes. question A question needs to be answered before progress can be made on this issue T4h Time Estimate 4 Hours

Comments

@nelsonic
Copy link
Member

nelsonic commented Jun 18, 2022

This project is a bit out-of-date.
Let's fix that and add @dependabot to keep it up-to-date!

Todo

@nelsonic nelsonic added help wanted If you can help make progress with this issue, please comment! epic A feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues. T4h Time Estimate 4 Hours priority-2 Second highest priority, should be worked on as soon as the Priority-1 issues are finished chore a tedious but necessary task often paying technical debt labels Jun 18, 2022
@nelsonic nelsonic self-assigned this Jun 18, 2022
@nelsonic
Copy link
Member Author

nelsonic commented Jun 22, 2022

ERD of existing MVP on main branch: [click the image to enlarge]

image

This ERD covers the "Single Player Mode" described in the /dwyl/product-roadmap#1-single-player
i.e. there is no concept of sharing, permissions or collaboration.

Do we want to add the complexity of "Multi-Player" to the MVP?
I know that personally I want to be able to share an item with my co-worker/family-member/friend etc.
But the question is: should we be thinking about that in MVP or only in a subsequent iteration? 💭

@nelsonic nelsonic added the question A question needs to be answered before progress can be made on this issue label Jun 22, 2022
@nelsonic nelsonic added the discuss Share your constructive thoughts on how to make progress with this issue label Jun 23, 2022
@nelsonic
Copy link
Member Author

I think I answered my own question in the Product Roadmap link above. 💭
Specifically, the App must be immediately useful to the individual person. 👩‍💻
So that's what I'm (we're) going to focus on first. 🏁

And then we can add the concept of groups of (one ore more) people later. 👪

@nelsonic
Copy link
Member Author

For reference, at the time of writing, visiting: https://dwylapp.herokuapp.com I see:
image

When I authenticate with my Google Account, I see:
https://dwylapp.herokuapp.com/people/info
image

And when I click on "capture" I see: https://dwylapp.herokuapp.com/capture/new

image

When I submit I'm shown: https://dwylapp.herokuapp.com/categorise

image

When visiting the list: https://dwylapp.herokuapp.com/items
image

This item created by a random person: https://dwylapp.herokuapp.com/items/233
image

Summarises it well. 💭

@nelsonic
Copy link
Member Author

Quick walkthrough of the "User Journey" through using the current version of the App,
with reference to the ERD:

mvp-erd

This version does not allow people to create items without being authenticated.
So that's the first step as noted in the screenshots above.

Once authenticated the person creates an item.
The item can be edited/updated.
That's it.

At present the schema is there for lists and list_items but
also the schema is there for timers but the functionality/UI to start|stop a timer is not #7
tags and status tables are also present but there is no UI to manage them.

So the MVP as it stands is very incomplete.
Let's fix that!

@nelsonic
Copy link
Member Author

Dependencies we want to bring with us:

  # Easily Encrypt Senstive Data: github.com/dwyl/fields
  {:fields, "~> 2.7.1"},
  # Auth with ONE Environment Variable: github.com/dwyl/auth_plug
  {:auth_plug, "~> 1.2.3"},
  # Useful functions: https://github.com/dwyl/useful
  {:useful, "~> 0.1.0"},

  # create docs on localhost by running "mix docs"
  {:ex_doc, "~> 0.22.6", only: :dev, runtime: false},
  # track test coverage
  {:excoveralls, "~> 0.13.2", only: [:test, :dev]},
  # git pre-commit hook runs tests before allowing commits
  {:pre_commit, "~> 0.3.4"},
  {:credo, "~> 1.1.0", only: [:dev, :test], runtime: false},

https://github.com/dwyl/app-mvp-phoenix/blob/745c7e87b42f07888edfe7f4527998b827e6a6e3/mix.exs#L54-L67

Note: all of these are way out-of-date, this is just for reference.

@nelsonic
Copy link
Member Author

Also want to keep these settings

test_coverage: [tool: ExCoveralls],
preferred_cli_env: [
  c: :test,
  coveralls: :test,
  "coveralls.json": :test,
  "coveralls.html": :test,
  t: :test
]

and aliases:

c: ["coveralls.html"],
s: ["phx.server"],
t: ["test"],

nelsonic added a commit that referenced this issue Aug 6, 2022
nelsonic added a commit that referenced this issue Aug 7, 2022
nelsonic added a commit that referenced this issue Aug 7, 2022
…really hope its just a glitch in excoveralls ...
@nelsonic
Copy link
Member Author

nelsonic commented Aug 7, 2022

Coverage hasn't dropped, it's just not being accurately recorded on my Mac ... 🙄

image

nelsonic added a commit that referenced this issue Aug 7, 2022
nelsonic added a commit that referenced this issue Aug 7, 2022
@nelsonic nelsonic added awaiting-review An issue or pull request that needs to be reviewed and removed in-progress An issue or pull request that is being worked on by the assigned person labels Aug 7, 2022
@nelsonic nelsonic removed their assignment Aug 7, 2022
@nelsonic
Copy link
Member Author

nelsonic commented Aug 7, 2022

@SimonLab I've finished updating
the README.md: https://github.com/dwyl/app-mvp/blob/phoenix-1.6-2022-refresh-issue-%2389/README.md 📜
and BUILDIT.md dev log: https://github.com/dwyl/app-mvp/blob/phoenix-1.6-2022-refresh-issue-%2389/BUILDIT.md 🧑‍💻

Please take a look and give feedback when you can. 🙏
Thanks again for your patience on this. 👍

@nelsonic
Copy link
Member Author

nelsonic commented Aug 8, 2022

Final GIF:
mvp-localhost-demo

@nelsonic
Copy link
Member Author

nelsonic commented Aug 8, 2022

After removing people table had to run:

ALTER TABLE items 
RENAME COLUMN status_code TO status;

DROP INDEX items_person_id_index;
ALTER TABLE items DROP CONSTRAINT items_person_id_fkey;

ALTER TABLE timers DROP CONSTRAINT timers_person_id_fkey;

DROP TABLE people;

@nelsonic
Copy link
Member Author

nelsonic commented Aug 8, 2022

@SimonLab your suggested fixes merged into the PR #90
Please review again when you can. 🙏

SimonLab added a commit that referenced this issue Aug 9, 2022
@SimonLab
Copy link
Member

SimonLab commented Aug 9, 2022

PR #90 merged, we can start the last checkbox item: iterate

@SimonLab SimonLab removed their assignment Aug 9, 2022
@nelsonic
Copy link
Member Author

nelsonic commented Aug 9, 2022

Thanks again @SimonLab 🎉

@nelsonic nelsonic closed this as completed Aug 9, 2022
@nelsonic nelsonic unpinned this issue Aug 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-review An issue or pull request that needs to be reviewed chore a tedious but necessary task often paying technical debt discuss Share your constructive thoughts on how to make progress with this issue epic A feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues. help wanted If you can help make progress with this issue, please comment! priority-1 Highest priority issue. This is costing us money every minute that passes. question A question needs to be answered before progress can be made on this issue T4h Time Estimate 4 Hours
Projects
None yet
Development

No branches or pull requests

2 participants