The application is a Stateful app built with Spring Boot, MySQL and Vue.js.
Features:
- Routing
- User authentication: Register/Login/Logout
- 3 User Roles: Root, Admin and User
- Promoting/Demoting users to Admin/User
- Deleting users
- Editing user profile
- Following/Unfollowing users
- Creating posts
- Creating comments
- Liking posts
-
Java 11
-
In order to be able to save
Images
you need to sign up to Cloudinary and enter your credentials in theapplication.properties
file of the Spring Boot app (instagram\server\src\main\resources\application.properties
)
To start the Client you need to enter the instagram/client
folder:
$ cd instagram/client
Install all dependencies:
$ npm install
Run the app in the development mode:
$ npm run serve
Open http://localhost:8080 to view it in the browser.
Go to the root directory of the Spring Boot app:
$ cd instagram/server
Start the Server:
$ mvn spring-boot:run
The Server is running on port 8000
.
- Start the application
Go to the project directory( instagram/
) 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
- People Page
- User Feed Page
- Post Page