Hi Clement, thanks for this detailed feedback.
I agree focusing on CI/CD and improving development environment
instructions is helpful and a good goal for the hackfest; I'm replying
in-line with some other thoughts.
On 1/17/19 3:39 AM, Clement Verna wrote:
> Hi Justin,
>
> I am replying here to your IRC questions :-)
>
> So I think that indeed setting up basic CI/CD and maybe a container
> based development environment would be a good start.
> The Infra team is meeting next week in Brno and one item of the long
> agenda we have is to move applications to Openshift so maybe we will
> have the time to do that for badges. This would allow to use a much
> nicer workflow.
>
Running Tahrir/Badges in OpenShift would be awesome. I saw some commits
from Randy this week. Was there any success on running Badges in OpenShift?
> About migrating to another framework, I think this is an hard task (I
> don't know much of the tahrir code base tho) since it usually mean you
> need someone that knows well the current code base and framework and
> that also knows well the new framework this sounds difficult for me.
> Although as I mentioned in the council ticket, the technology stack
> does not sound very appealing for someone that wishes to learn new
> skills or develop existing one which is one of the main factor for
> people to dedicate time to help maintain a Opens Source project.
>
> All that to say that I think that for your FAD you should focus on
> adding new feature, I would choose maybe 1 or 2 features that are
> really longed for and try to break them down in smaller items so that
> you have kind of plan to develop them.
>
I agree.
> You could write something like that
>
> Technical work breakdow :
>
> # Development Environment setup
>
> ## Create container environment to run application locally
> (application, database, etc ..)
> ## Document how to use the container base development environment
> ## Add basic test framework and make it possible to run test in the
> container environment
> ## Add code linting, code formatting checks, etc ...
> ## Configure Travis CI or CentOS CI to run tests and checks
>
I think this is achievable for a hackfest. In #fedora-badges, Sayan and
I were discussing this. Vagrant is set up already for Tahrir. I am
curious of the value in migrating to a container-based environment from
Vagrant.
If migrating to a container environment from Vagrant offered benefits to
how Badges is deployed (in addition to lower overhead for a dev
environment), I think it would be worthwhile?
> # Feature Development
>
> ## Implement ticket number X using Test Driven Development
> ### Create new page template
> ### Create new HTTP enpoint to serve the new page template
>
> ## Implement ticket number XX using Test Driven Development
> ### Investigate and document how YYY feature works
> ### Add new feature to YYY
> ....
>
> Using TDD is a nice way to start adding test to the application, you
> also imaging doing some pair programming if that work well during the
> FAD that can be a nice way to on-board new contributor inviting them
> to a pair-programming TDD session.
>
This approach makes sense too. Some of the work we want to do is to
identify and prioritize which features to focus on.
>
> Hope that helps, I ll try to push for us to move badges to openshift
> next week so that should make things a little easier later on to
> deploy changes to staging and production :-)
>
Thanks for your helpful feedback and support!
--
Cheers,
Justin W. Flory
jflory7(a)gmail.com