Videos
I'm a developer with no previous Java experience, who has recently taken on a technical product manager role. I will be working with several developers going forward, including a Java developer who will be maintaining a REST API server that runs under Tomcat on AWS Elastic Beanstalk.
The Github repos which I've taken over from the previous developer include no documentation whatsoever. There is just some Java source code, an IntelliJ .idea configuration folder, a buildspec.xml file, and a pom.xml file.
I've installed Tomcat 9 on my Ubuntu workstation and figured out the basics of using Maven to compile and deploy a WAR file, so I'm comfortable I have the basic lay of the land now.
With that as background, obviously the current state of this git repository is not ideal. I would like to whip it into better shape, add some documentation, and generally make sure that it follows best practices.
So... in the Java world, what are those best practices? Specific questions:
Are there certain files that should always be present in version control? Conversely, are there others that should be gitignored and never checked in?
What is the preferred way to store environment configurations for local dev, stage, and prod environments?
How are WAR files typically deployed to AWS EB? Should the deployment scripts be checked into Git?
Is docker commonly used in the Java world and/or is it helpful? Should a dockerfile be included in this Git repo and if so, is there any specific way it should be configured?
Is the IntelliJ editor preferred by most Java developers, or should the project be editor-agnostic?
Any other advice on how to make this a clean Github repo?
Thanks!
- Java noob