I am working on a turn-based combat game in text mode in Java.
The game uses the Lanterna library for the user interface (TUI) and a SQL Server database to store the player login information, while MongoDB is used to store game objects (such as skills, items, etc.).
The project is developed on IntelliJ and uses Gradle for dependency management.
The problems I'm facing: Project Architecture: I'm not sure how to properly organize the different parts of the project: Model, DAO, Services, and Screens.
Iβm looking for advice on how to structure the project cleanly, especially regarding the interactions between the models, services, and the user interface.
Managing Two Databases (SQL Server and MongoDB): How should I structure the DAO (Data Access Objects) to interact with these two databases?
For the TUI: If possible, how can I style Lanterna (this is my first time using it)?
What I hope to get: Advice on code structure and how to manage both databases (SQL Server and MongoDB) within the Java project.
Suggestions to improve the Lanterna interface, both in terms of design and performance.
Any help or resources that could make this project smoother to develop and more professional.
Note: I am open to any feedback on these important points to lay a solid foundation for the project. Once I am more confident with the architecture and database management, I can start focusing on the game logic and feature implementation. Any help would be greatly appreciated to get this project off the ground.