This web application is a project that I made myself to practice in Java and ReactJS. Please do not hesitate to contact me if you see any errors (small or big).
- JDK 8
- NodeJS
- MySQL Server
- This project use liquibase as a version control for database. When you will start backend, all tables and structures will be generated automatically.
- To try the project on localhost, check that nothing runs on ports 9090 (Spring Boot) and 3000 (React app)
- You can edit
spring.datasource
inbackend/src/main/resources/application.properties
andusername
andpassword
inbackend/src/main/resources/liquibase.properties
with your own SQL login / password - Create a database named "websocket" or you can also modify the name in the properties files mentioned just above.
- Go inside backend folder then type
mvn spring-boot:run
to launch backend. - Or you can type
mvn clean package
to generate a JAR file and then start server withjava -jar path/to/jar/file
(Normally in inside backend/target/)
- Go inside frontend-web folder and then type
npm react-scripts start
- Simple chat group application based on websocket
- Send images
- Secure user account based on Spring Security JWT
- Room discussion with STOMP and SockJS
- Chat group administrators
- Add / remove users from conversation
- Dark / Light Mode