You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juneau.apache.org by James Bognar <ja...@apache.org> on 2019/10/20 15:44:57 UTC

Outreachy internships and the PetStore Application.

Hi everyone!

I'm excited by the number of Outreachy applicants that expressed
interest in our open source project.  Since we have a number of
applicants, I'd like to take the opportunity to iterate over our goals
for this project.

The purpose of the PetStore application is to show how Apache Juneau
can be used in a real-world scenario in combination with other popular
open source technologies such as Spring.  But more importantly, it was
provided as a starting point for you, the developers, to experiment
and have fun with and help provide valuable feedback for our community
while honing your own coding skills and building up your professional
portfolio.

Some important points to keep in mind through this process:

- Keep the code simple.
Our goal here is to provide examples of how Juneau can integrate with
other technologies.  We don't necessarily want a fully-functional Pet
Store application.  The more complex the project becomes, the harder
it will be for new developers to understand it.

- Develop "synergy" with other open source projects.
We want our community to grow.  One way to do this is to show how our
project can be used with other open source projects, thus creating
cross-team interest that can benefit everyone.

- Expose your work here with the outside world.
I would highly encourage that you make your work here visible by
writing articles about it in a place such as Medium.com or
StackOverflow.  This benefits you by expanding the portfolio of work
you can point to, and benefits our community by making Juneau more
visible via Google searches.

- The PetStore app is YOUR project.
What was provided is just an initial implementation.  You have the
ability to make design decisions.  If something doesn't fit when
integrating with another technology, change it!  If something is
confusing or needlessly complex, change it!  We only suggest that you
ask on the developer channel or JIRA ticket before making such changes
to get the input of others.

- The Juneau community are experts in Juneau.
We are not experts in all-things open source.  We will be able to
answer any questions about Juneau.  We may not have answers on how
other technologies work.  In those cases, I suggest you reach out to
those other communities for answers.

- Familiarize yourself with Juneau to understand what it is.
ALL Juneau documentation is maintained in Javadocs and can be found
here:  http://juneau.apache.org/index.html#documentation.html.  The
PetStore app is meant to highlight the REST server/client APIs, but
there is much more to Juneau than just those features.

- If something about the Juneau API or documentation doesn't make
sense or is confusing, point it out!
We need feedback to make improvements!  This goes doubly for the
documentation as well!

- Open Communication.
One of the core tenants of "The Apache Way" is Open Communication, and
the way we do that is by using email as the primary communications
channel.  If you are not already subscribed to the dev mailing list, I
suggest you do so soon to stay up-to-date on project updates.
Instructions for doing so can be found here:
http://juneau.apache.org/index.html#community.html.  Whenever
possible, use this mailing list for communications.  Comments on JIRA
tickets are automatically forwarded to the dev channel so there isn't
a need to comment in both places.

- Come up with your own suggestions!
This is the most important point.  We came up with an initial list of
JIRA tickets for possible work.  But as you develop this code, you are
likely to have your own ideas.  Suggest them!  Otherwise we will
quickly run out of work for you :-)

My hope is that your experiences with this project will encourage you
to join as an official Apache committer where you can start making
direct code contributions to an Apache open source project.