Update Galaxy team:
- Mohammad Rouintan
- Abolfazl Ramezanian
- Mahdi Ahmadi
- Reza Mosavi
Computer Science students at Shahid Beheshti University
Mathematical sciences' faculty
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.
-
Graphical User Interface
contains an impressive GUI, designed and implemented by JavaFX technology- login and sign up
-
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