Best Way to Organize Project With Overlapping Functionality

43 views
Skip to first unread message

Nan

unread,
Aug 9, 2015, 10:34:28 PM8/9/15
to Django users
Hi everyone --

I'm building a project that allows users to create mailing lists.  In order to create a mailing list, you must first create an account; in order to join a mailing list, you don't have to have an account.  Accounts are handled by one Django app and mailing lists and list membership by another.

However, creating an account and signing up for a mailing list both share similar functionality in that in both cases you receive an email asking you to confirm your email address/opt-in, and then another email confirming your signup once you've validated.  

I'm torn on whether to handle this logic separately in the accounts and mailing lists apps, vs. a third module that both use.  If it makes a difference, neither of these apps is intended to be pluggable -- they're highly customized for a very specific business case.

Any thoughts about how to approach this decision?

Thanks!
Nan

Mike Dewhirst

unread,
Aug 9, 2015, 11:42:18 PM8/9/15
to Django users

Eventually you want a library you can call from each app. I would start with that in mind and write two apps exactly as they should be then refactor commonly used functionality out into into that library.

Mike

ring...@gmail.com

unread,
Aug 10, 2015, 1:48:05 PM8/10/15
to django...@googlegroups.com

Thank you, Mike, that’s helpful!


--
You received this message because you are subscribed to a topic in the Google Groups "Django users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/django-users/7-AaBdaNznw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/f67f6abf-e0b9-40c5-b4be-71d1a1d7f7e8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages