This programm allow the user to deploy a server that allows for a client side multi-user drawing program 2024/06/30
IN ORDER FOR THIS PROGRAM TO WORK PROPERLY, PLEASE USE THE FOLLOWING CLIENT:
LAB 06 CLIENT --> for further build information and to deploy client
As seen by the following diagram the user connects via browser to use the program, then he must connect via http using the 3000 port, this is because the React based client is working in that service, the client, of course, is provided by a cloud machine deployed in Amazon EC2, each connection starts sending data to our second EC2 server deployed to withstand Spring and to connect via http using the port 8080 (tomcat), this server will work as our Sync service for each client, this is because this service manages all dots drawn by each client, the server delivers an array as Json to all the clients so they get proccessed and interpreted.
Once all has been done the clients draws all the dots (or erases everything given the user input), if the client decides to delete everything then in the server all data will be erased, there are some commands that cannot be used by the client and those are status and points, this exists just for debbuging reasons and verifying how everything works, however if seeing that is what the user desires the only thing that is needed to do is to try and connect via browser to the data server, each path that is described in the connection between Lab06Application and Lab06Controller is being delivered once, not all petitions at once.
And so this is the why of this architecture.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
First you need the following java version (command to see your current java version below)
java -version
to see the maven version we are using we need to enter the following command, also this is the version of Maven this programm uses
mvn -version
First clone this proyect into your own system, then
mvn clean package
Acceptance.test.mp4
in case the video does not load, simply press F5 to refresh the github tab so that the video downloads as intended
In the video we can see the EC2 instance hosting the server with various instances of the client running locally, as seen in the video the drawing updates and allows for multiple people drawing at the same time.
Second.test.mp4
in this video we test that the delete button works properly
Second.test.mp4
here we can see the client and the server both deployed in EC2.
Simply enter the following commands
mvn javadoc:javadoc
mvn javadoc:jar
mvn javadoc:aggregate
mvn javadoc:aggregate-jar
mvn javadoc:test-javadoc
IN ORDER FOR THIS PROGRAM TO WORK, YOU'LL NEED TO EXECUTE THE PROGRAM ON THE FOLDER YOU WANT TO WORK WITH, WITH THE FILES YOU WANT TO WORK WITH
if you want to use the programm after using the package command we use
mvn spring-boot:run
after the server has initialized, you'll have to use the client to properly see the server working, but even then you can enter to the following URLS to ensure that your server is working properly.
http://localhost:8080/points --> allows ato see all the stored points
http://localhost:8080/getpoints --> returns all points in a Json format
http://localhost:8080/status --> to know if the server is running
http://localhost:8080/setpoints?xval=145&yval=6516 --> minor example of how data is being sent to the server, being xval the X position of the point and yval the Y position of the point.
- HTML 5 - HiperText Markup Lenguaje
- JavaScript - lightweight interpreted programming language
- p5.js - free and open-source JavaScript library
- React - ibrary for web and native user interfaces
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Santiago Parra - Initial work - Parralol


