Skip to content

Latest commit

 

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SocialApp

Social network made with Angular, Spring Boot (Java), Keycloak and MySQL.

This application allows:

  • Create an account
  • Modify your profile picture and other data
  • Create posts
  • Receive notifications
  • Choose between three different languages (English, Spanish and Portuguese)
  • Send friend requests, as well as accept or reject those that are sent to you
  • View and interact with the posts created by your friends (like, comment, download their image, etc.)
  • Chat or start a video call with a friend
  • Follow verified accounts
  • View and interact with the posts created by the users you follow
  • Appear in trends (only for verified accounts)
  • And more

Note: this is a personal practice project and I do not allow its distribution.

API Docs

To view the API documentation you must first deploy the application and then enter one of the following paths in your browser:

Deployment

Important note: At the moment the app starts in developer mode and is not adapted for production.

The application can be deployed using a single command thanks to Docker.
First of all, download Docker Desktop if you don't have it installed locally.

Then you have to clone this repository:
git clone https://github.com/MatiasGBT/SocialApp.git
or download it as a ZIP file.

After that, you will be able to deploy this app running the following command in the repository folder:
docker compose up
You will need to have Docker Desktop open and running when you execute this command (and any other Docker command).

The first time you run the application it will be slow because Docker needs to download and build the images specified in the docker-compose.yml file.
You will be able to know when the project is ready when all the containers compile correctly. You will see the next lines in log of each container:

backend:

SocialAppApiApplication: Started SocialAppApiApplication in 42.05 seconds (JVM running for 69.204)

frontend:

✔ Compiled successfully.

mysql:

/usr/sbin/mysqld: ready for connections. Version: '8.0.30' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.

keycloak:

Running the server in development mode. DO NOT use this configuration in production.

Note: You can see the log of each container clicking on their names on Docker Desktop.

Note 2: To deploy the application you need the following ports to be free on your PC: 3036, 4200, 8080 and 8090.

When all the containers are built, you will be able to open the application by putting http://localhost:4200 in your browser.

Getting started

Login page After opening the app (see Deployment) click on New user? Register to create an account (or sign in with Google).
You will be redirected to a registration page. Use false information (just to test):

  • First name: user
  • Last name: test
  • Email: user@mail.com
  • Username: user
  • Password: user123
  • Confirm password: user123

After registering you will be able to use and explore the app.

Screenshots

Some screenshots of the application. Index Page Index page

Profile Page Profile page

Friend's Profile Page Friend's profile page

Edit Profile Page Edit profile page

Chat Page Chat page

Is Calling You Modal that pops up when a friend calls you

Call Page Call page

Notifications Page Notifications page

Settings Page Settings page

Tech Stack

Client: Angular

Server: Java, Spring Boot

Authorization server: Keycloak

Database: MySQL

External utilities

Utilities provided by other developers/designers used in this project:

Author

@MatiasGBT

About

Social network made with Angular, Spring Boot, Keycloak and MySQL.

Topics

Resources

Stars

11 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages