This version is only available through REST requisitions using Json as data format.
It is implemented in Java with Spring Boot. The application server is integrated within the application.
- /new_game [POST]
- /guess [POST]
- Java 8
- MySQL (may use another JPA-compatible database, need to update pom.xml - drivers - and application.properties).
Items from 1 to 3 can be skipped if you want to use an existing database, just make sure you update "application.properties" accordingly.
- Install MySQL
- Create a database in MySQL with name "mastermind"
- Create a user "mastermind" with the password "mastermind"
- Run the script "src/script/populate.sql" in the database
- Build and package the application:
- $mastermind_home/> mvn install
- Run the application and server:
- $mastermind_home/> java -jar target/mastermind-*.jar
- Access the endpoint "/new_game" to start playing:
The implementation is based in this documentation: http://careers.axiomzen.co/challenge
- Itegration tests:
- Run the class com.rafaelleite.mastermind.MasterMindApplicationTests
- Unit tests:
- Currently only one class: com.rafaelleite.mastermind.serviceGameServiceTest
- Functional
- Control the number of turns
- Non-functional
- Improve integration tests
- Improve unit testing
- Use Https and Authentication?
- Add Internationalization (I18N)