Skip to content

This is a Spring Boot and AngularJS web application exercise.

Notifications You must be signed in to change notification settings

anttikarhu/web-a-go-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

web-a-go-go

This is a Spring Boot web application exercise. And it's a game of Go :)

This is also the first time I create a project on GitHub, so: Hello World!

What you'll need

  • Git
  • JDK 1.8 or later
  • Maven 3.0+
  • Redis (For Windows, see here. You may need to change the user running the Redis service during installation process, and start the service again to successfully install Redis for Windows)
  • Spring Tool Suite or other capable IDE or your choice (optional). Pick the right version (64bit etc) or the STS will fail with a bit confusing error message

Building and running

  • Check out the source code by typing git clone https://github.com/anttikarhu/web-a-go-go.git web-a-go-go
  • Go to the folder cd web-a-go-go
  • Ensure that Redis is running, for example for Mac run redis-server. For Windows, see that the Redis service is running
  • Type mvn spring-boot:run
  • Open http://localhost:8080/ in your web browser

About the project

This project has a Spring Boot backend, and an AngularJS frontend. The Spring Boot is at it's default configurations. The backend serves an html page along with the needed js and css files from an Embedded Tomcat, Spring Boot's default container, and these make up the UI frontend application running in the browser. The game is drawn to a HTML5 canvas. Wro is used as a frontend dependency manager, just for good measure, and it's run on the Maven build. Game state is held at a Redis NoSQL database.

TODOs and known issues

  • Game ending and scoring is not implemented
  • Remove stones button should be removed
  • Integration tests use the "live" Redis database, it should be mocked
  • Error handling is not finished, for example UI does not show reasons for rejected moves
  • Suicide prevention rule has not been implemented
  • Frontend JavaScript code could be reorganized in smaller modules
  • Board is not drawn properly for different board sizes

About

This is a Spring Boot and AngularJS web application exercise.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published