Skip to content

esammahdi/Sosyal-Medya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sosyal-Medya

A simple facebook-like social media project that has simple functions such as adding/deleting friends, text/photo sharing and messaging. Under the hood, it has an MVC arcitecture pattern and uses JavaFX and MSQL Server.

License Latest release

Table of contents

Introduction

Installation

There are two main steps to launch this project :

1. You need to download and configure MSQL Server, as it is the database service used by the application.

2. Import and create the 'Sosyal Medya' database from the script provided in the Database folder.

If you already have MSQL Server just make sure your TCP Dynamic Port is set 1433 and skip to the last part directly.

The second step is relatively easy, however, the first step may be a little long if it is your first time. Without further ado, let's start.

Downloading and configuring MSQL Server :

Click to Expand
  1. From microsoft website download and install SQL Server Express. image

  2. After installing it, download SQL Server Management Studio (SSMS) (The IDE we will be using to configure the server and write our sql) :

  1. The first thing to do after openning SQL Server Manager is to change the defualt option and enable logging in through a username and a password.
    To do this, left click on the server name and click on properties. After that click on security, and you should be here :

By defualt, it is set Windows Authentication Mode, change it to the one below and close the window.

  1. The next step is to create a user name and a password to use by our application. Under Security, left click on Logins and select New Login :

Here, just enter you login (user) name and under SQL Server Authentication enter a password. Just make sure the options below are not enabled.

Note : sometimes you may receive an error while trying to alter the database due to not having permission. To fix this, expand the Logins part and look for the new login you created, and click on properties. Then find Server Roles and be sure you have the sysadmin role

  1. Now, leave the SSMS on the side. Search for SQL Server Configuration Manager on your computer and open it (it should have been automaticly installed when you did step number 1).

  2. Under Network Configuration, set the TCP/IP option to enabled :

enabling the server's TCP/IP option

Note : It may tell you need to restart the server, you can either restart your pc or just restart the server service from the configuration manager directly.

restarting the server

  1. After that double click on it and make sure the Enabled option is set to YES.

setting the TCP/IP status to YES

  1. Then on the same window press IP Addresses tab. Find the IPAll option and set the port number to 1433.

setting the IPALL port value to 1433

  1. And lastly, import and create the 'Sosyal Medya' database from the script provided in the Database folder. You can either execute the script directly or copy it then execute it.

  2. At long last we are finished with setting up the server!!! Now you just need to change the login username and password in the Start java file to match the login you created :


One last thing you must have already done if you are using JavaFX. Add VM Arguments to the project, as specified in the picture below (eclipse) :

--module-path "C:\Program Files\Java\javafx-sdk-17.0.1\lib" --add-modules javafx.graphics,javafx.base,javafx.controls,javafx.fxml,javafx.web

At this point you should have no problem running the project.

Usage

Basic operation

The program offers various features to try:

  1. Adding an account :

  2. Posting : When you click on 'What are your thoughts today' box in the timeline, a window that you can write a text into and add an image appears :

  1. Adding/Deleting friends :

  2. Resetting password :

Known issues and limitations

You can not comment:

License

This program is distributed under the terms of the MIT License (MIT). The license applies to this file and other files in the GitHub repository hosting this file.

Authors and history

  • Esam Bashir : The original author.

Acknowledgments

Working with JavaFX to make a complete project like this has been very stressing, especially considering the amount of things -that are mostly provided in most other modern frameworks (the ones I saw at least)- you have to build from scratch with basic elements. Also, JavaFX looks are outdated and it was very hard to implement modern designs that may have taken just few lines in other frameworks.

As mentioned, working with JavaFX has been hard, and I would like to thank some people whose works were very important in completing this project :

TimeLine and Post UIs :

The main page UI is the largely the same as Mahmoud Hamwi's JavFX UI: Facebook Design with Dynamic VBbox items video.

Chat Box UI :

The messaging box UI has largely been taken from 's JavaFX and Java Sockets - Client Server Messenger video.

CSS :

Nonameplum's css was used to give the buttons a modern look.\

There was also another source that I used to make the side scrollers look modern
The Ripple Animation was also taken from another site that I do not remember at the moment

Icons :

Most of the icons in the project were from icons8.com windows app. You should give it a try.

Releases

No releases published

Packages

No packages published