Skip to content

This program is the final project of advanced programming course in Shahid Beheshti University, which is implemented with Java language. The main parts of this program Microservices, Database and Socket Programming

Notifications You must be signed in to change notification settings

rezamosavi8740/Divar

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Divar desktop app

Developers

Update Galaxy team:

Summary

This project is developed as the final project for our advanced Java programming course at SBU.
Our application is meant to be a template of Divar desktop application.

Features

  • Graphical User Interface

    contains an impressive GUI, designed and implemented by JavaFX technology

    • login and sign up

    • All Ads Section

    • -full View of Ads-

    • Categories Section

    • Add Ads Section

    • Chat Section

    • My Divar Section

    - -Saved Section-

  • Object-orientation

this project is implemented in an absolutely object-oriented approach. since we used Java for this project, we tried to use the full power of Java in terms of object orientation. the project is very well organized and maintainable because every part of the program is developed within a separate package obviously-named. Each package consists of classes and fxml files of its own. we tried to obey the SOLID rules as much as we could in this project.

  • Version Control tools

Our team work was organized and merged and developed upon Git and we made separate branches for different kind of tasks and after implementing an specific part of the project the team members would push the changes and notifying the maintainer of the project to merge their changes after checking their provided code.

  • Database

For this project MongoDB database is used for storing data on server.
Here is the schema:

  • Socket Programming

This project consists of two different applications, a client app and a server app developed by the socket programming tools and concpets in Java

  • Multi-threading

To handle numerous clients simultaneously on server-side multi-threading concepts are used. clients are handled by being passed to a threadpool and shared methods between multiple threads are synchronized to avoid the race condition and data loss

About

This program is the final project of advanced programming course in Shahid Beheshti University, which is implemented with Java language. The main parts of this program Microservices, Database and Socket Programming

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 95.4%
  • CSS 4.6%