Social-Network is a Stateful app built with Spring Boot, MySQL and React.
Features:
- Routing
- User authentication: Register/Login/Logout
- 3 User Roles: Root, Admin and User
- Promoting/Demoting users to Admin/User
- Creating and deleting users
- Editing user profile
- Searching for friends
- Sending and accepting friend requests
- Removing friends from the friends list
- Adding and deleting photos
- Creating and deleting posts
- Creating and deleting comments
- Chat functionality: writing and receiving messages from your friends
- Logs history
The project is deployed on Heroku.
Admin Credentials:
- username: john
- password: 1111
-
Java 11
-
In order to be able to save
Photos
you need to sign up to Cloudinary and enter your credentials in theapplication.properties
file of the Spring Boot app (SocialNetwork\Server\src\main\resources\application.properties
)
To start the Client you need to enter the SocialNetwork/Client
folder:
$ cd SocialNetwork/Client
Install all dependencies:
$ npm install
Run the app in the development mode:
$ npm start
Open http://localhost:3000 to view it in the browser.
Go to the root directory of the Spring Boot app:
$ cd SocialNetwork/Server
Start the Server:
$ mvn spring-boot:run
The Server is running on port 8000
.
- Start the application
Go to the project directory( SocialNetwork/
) and run:
$ docker-compose up -d
The front-end server will start on port 9090
. To open it enter in your browser:
$ http://localhost:9090
- Stop the application
You can stop the containers with:
$ docker-compose down
- Home Page
- Friends Page
- Photos Page