The assignment for your group will be to design and develop a Console-based application (non-Graphical UI): MOBLIMA is an application to computerize the processes of making online booking and purchase of movie tickets, listing of movies and sale reporting. It will be used by the moviegoers and cinema staff.
- git clone repository into your machine
- ensure java dependencies are installed (JDK, JVM etc.)
- in MoblimaApp.java:
public static void main(String[] args) {
MainMenuUi mainMenuUI = new MainMenuUi();
Database db;
db = DataInitialiser.main(); //uncomment this for first run of program, comment it out for subsequent runs
//db=Serialization.read(); //uncomment this for 2nd run onwards
mainMenuUI.main(db);
Serialization.write(db);
}
- Follow instructions in the comments and run code from MoblimaApp.java.
- Admin login -> admin1@gmail.com (email) , admin123 (password)
- Moviegoer login -> JohnTan@gmail.com (email), abc123 (password) or create a new account.
- boundary
- Contains UI related classes for MOBLIMA
- controller
- Contains classes that controlls the flow of MOBLIMA
- data
- Contains classes that are related to the storage of data
- docs
- Autogenerated Javadoc
- exception
- Contains classes for custom exceptions
- model
- Contains classes that contains information of objects being used and manipulated.
- MOBLIMA.java
- main app source file
- README.md
- We faced challenges when designing the initial application architecture as we lacked knowledge in implementing SOLID design principles. We then learnt to use the MVC (model-view-controller) model to help us organise our packages and their dependencies.
- We have learnt to effectively use Github and git for source control and remote collaboration to reduce conflicts in code
- We have learnt to implement OOP design principles to create a comprehensive movie booking app.
- Refactor code using DRY principle. A lot of repeated codes.
- Very messy formatting of the code which results in low readability. Add more comments explaining the code.
- Implement GUI for our app
- Wang Yu Teng @WangYuTengg
- Ng Yong Jian @ngyongjian
- Guo Sihan @GuoSihan0320
- Davyn Yam Junhao @Davynyam
- Pugalia Aditya Kumar @AdityaPugalia
