This is the private repository for the development of the Masterming SE362 Group Project.
The lastest version of the UML Design is located here or in the lucid chart account.
Getting Familiar with the Repository
The repository has the following structure:
This src folder is where everything will be shared, please try not to add any other folders or files unless strictly necessary.
Any libraries used reside in the libraries folder.
The project will be divided into the following packages to allow for better handling:
mastermind.gui - For any view and GUI related code
mastermind.core - All the data models and any core functionality
mastermind.core.codebreaker - All the implementations of computer codebreakers
mastermind.core.commands - All the commands used in the system reside here
mastermind.core.controller - The game controller and anything usefull resides here
mastermind.gui - All gui related classes reside here.
mastermind.interfaces - Any generic interfaces that are used reside here
mastermind.logging - The logger resides here
mastermind.test - All JUnit Tests should be used here (JUnit4)
mastermind.helper - Any helper classes that don't belong anywhere else
Downloading the Repository
Go to the folder were you want to setup your project. And follow the following instructions.
Command line way
If you are using a command line git interface you need to run the following command:
git clone firstname.lastname@example.org:masterkoppa/Mastermind.git
Please double check that the address
email@example.com:masterkoppa/Mastermind.git is the
same that appears in in your view of the repository above.
If you are using a GUI Tool, use TortoiseGIT and clone the repository using the address in this page.
Creating the project
Open eclipse up and go to File->New->Java Project. On the wizard for a new Java Project look for location. Unmark "Use defaul location" and select the location where the repository was downloaded. Then press finish.
Now you should have the latest copy of the project on that computer. Your eclipse specific settings will already be ignored so feel free to modify them as long as you don't break anything for anyone else.
Add the log4j library
For logging we will be using the log4j library.
In order for you to be able to compile the code you must add this library to your projects class path. To do this, download the library from here and unzip the file. Then follow the instructions on the install/readme file contained.
See this to learn how to add a library to your project class path.
From the git repository
The logging library log4j is included inside of the repository inside of the libraries folder
See this to learn how to add a library this library to your project class path.
Add the Apche Commons library
The Apache Commons library is used for the FileExists exception used for the logging.
This library resides inside of the libraries folder, see the log4j instructions to learn how to add the library.
Interface Names Start with an I
Ex: ICommand - instead of Command
TODO: Add more specific coding conventions we want to enforce here