Skip to content

WangYuTengg/MOBLIMA

Repository files navigation

MOBLIMA - MOvie Booking and LIsting Management Application

Introduction

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.

How to run application:

  • 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.

Repository content:

  1. boundary
    • Contains UI related classes for MOBLIMA
  2. controller
    • Contains classes that controlls the flow of MOBLIMA
  3. data
    • Contains classes that are related to the storage of data
  4. docs
    • Autogenerated Javadoc
  5. exception
    • Contains classes for custom exceptions
  6. model
    • Contains classes that contains information of objects being used and manipulated.
  7. MOBLIMA.java
    • main app source file
  8. README.md

Feature Flow Diagram:

feature diagram

Challenges and lessons learnt:

  • 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.

Future things to work on:

  • 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

Contributors:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages