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

Example Apps #35

Open
Danwhy opened this issue Feb 1, 2019 · 1 comment
Open

Example Apps #35

Danwhy opened this issue Feb 1, 2019 · 1 comment
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested

Comments

@Danwhy
Copy link
Member

Danwhy commented Feb 1, 2019

Our guide for creating an Append Only Log is good for explaining the concepts, but as an example is a bit abstract.

We should create a few (fairly) simple apps utilising this module to demonstrate its use. This will also allow us to foresee any potential problems before using it in more production apps.

If anyone has any ideas for example apps, please add them here.

@nelsonic Were the changes you had in mind for this module likely to involve large API changes? I know you were keen on potentially moving away from using macros, and if so it might make sense to wait until those changes have been implemented.

@Danwhy Danwhy added enhancement New feature or request help wanted Extra attention is needed question Further information is requested labels Feb 1, 2019
@nelsonic
Copy link
Member

nelsonic commented Feb 2, 2019

Hi @Danwhy, thank you for proactively opening this issue. 🥇

I agree that while the https://github.com/dwyl/phoenix-ecto-append-only-log-example is a good starting point (that other people in the Elixir community have already found useful 🎉),
it is a bit "abstract" and needs to be evolved into a more complete example with a UI people can interact with similar to the "Chat" example: https://github.com/dwyl/phoenix-chat-example

Example Apps?

For the (sample) list of Apps we are going to build over the next few months
to showcase our "67 Stack" please see: dwyl/technology-stack#67 (comment)

The reason I have not (yet) dived into building "example apps" is that we needed the CID dwyl/cid#11
Now that CID has shipped https://hex.pm/packages/excid 🚀
We can re-focus on building Alog and ensuring that each entry has unique deterministic ID.
Which will ensure we do not have duplicate rows (i.e. wasting database space) ...

Using CID in the append-only example and in alog does add a layer of "complexity" which will require a brief paragraph to explain to people, but I 100% think it's worth it. I hope this extra effort will become clear to other people in due course (or if not, please keep asking questions so we can clarify!).

Answer

Yes, we will require a few minor API changes to alog to facilitate our transition to using CIDs.
I have hinted at these changes in other issues/answers and will attempt to summarise the API
(though you will be leading the charge on implementing it so I expect you to use your superior Elixir/Ecto skills to come up with the elegant interface beyond my "overview" ...)

@RobStallion has opened a question that already has bit more detail on the API change question: dwyl/phoenix-ecto-append-only-log-example#23

I will attempt to clarify this as much as I can over the weekend so that everyone is on the "same page".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants