PolyLinked is a LinkedIn-clone application built using Java and JavaFX. The client-side application follows MVC (Model-View-Controller) architecture and The server-side programm handles incoming requests, which follows DAO (Data Access Object) design pattern.
This was the project of advanced programming course at AmirKabir University (@AUT-CE).
To run the application, follow these steps:
-
Clone the repository to your local machine.
-
Build and run the server programm using maven.
-
Build and run the client application using maven.
Notice that The server is running localhost.
-
User Management
- Create, retrieve, update, and delete users.
- Add bios and profile images.
- Follow, unfollow and connect other users.
-
Post Management
- Create posts and repost.
- Like and comment.
- View customized homePage.
-
User Profile
- View user profiles.
- Edit profile details.
- Add Education, Skills and more.
-
Messaging, Notifications and Searching
- View and send messages.
- View notifications.
- Search users and hashtags.
Below are the available API endpoints in the server:
api/users
api/users/login
api/users/profiles"
api/users/educations
api/users/skills
api/users/followers
api/users/followings
api/users/callInfo
api/follows
api/connections
api/posts
api/likes
api/comments
api/messages
api/newsfeed
api/search
api/resources
- Java
- JavaFX
- SQLite
- HTTP Server
- JWT authentication
- MVC Architecture
- JSON serialization
- DAO design pattern
PolyLinked is licensed under the MIT License. You are free to modify and distribute the project according to the terms of the license.
Contributions to PolyLinked are welcome! If you want to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and ensure that the codebase passes all tests.
- Submit a pull request describing your changes. Notice that in order to open the fxml files in scenebuilder, you need to download their dependencies jar files to scenebuilder.