Station Management System
FULL STACK DEV
4/2/20243 min read


SCARBURE is a software solution tailored to efficiently manage station operations, offering comprehensive tools for streamlined administration, resource allocation, and service optimization. Developed to address the unique needs of station management, SCARBURE aims to enhance operational efficiency, improve customer service, and facilitate data-driven decision-making.
Context
Requirements Analysis
Administrator
Authenticate: Access the system with unique credentials.
Station Management: Manage station settings and configurations.
User Account Management: Create, modify, and delete user accounts.
Stock Management: Monitor and maintain fuel, product, and equipment stock levels.
Access to other users' interfaces: Ability to view and access interfaces of other user roles.
Fuel Manager
Authenticate: Access the system with unique credentials.
Tank and Distribution Management: Monitor and manage fuel tank levels and distribution operations.
Meter Management: Supervise meter data and fuel distribution records.
Fuel Sales Journal: Record and track fuel sales transactions.
Wash Manager
Authenticate: Access the system with unique credentials.
Articles and Services Sales Journal: Record and track sales transactions of articles and services related to washing.
Oil Change Manager
Authenticate: Access the system with unique credentials.
Articles and Services Sales Journal: Record and track sales transactions of articles and services related to oil changes.
Shop Manager
Authenticate: Access the system with unique credentials.
Shop Items Management: Add, modify, and delete shop items.
Sales Journal: Record and track sales transactions of shop items.
Functional Needs and Actors
Non-Functional Needs
We recognize the significance of non-functional requirements, and therefore, the ultimate objective of the application should adhere to the subsequent standards:
Reliability: Ensuring the application consistently functions without errors and fulfills user expectations.
Error Management: Displaying error messages in concise windows to assist users in navigating issues with clarity and ease.
Security: Upholding stringent access permissions to ensure users can only access data and features pertinent to their roles. Security is of utmost importance during both development and deployment phases.
UML Diagrams
We employed Unified Modeling Language (UML) to generate diverse diagrams that illustrate the system's architecture and functionality.
Use Case Diagram: Depicts interactions between system actors and functionalities.
Class Diagram: Illustrates class relationships and attributes within the system.
Sequence Diagram: Represents the flow of interactions between system components during specific processes.
Activity Diagram: Models the workflow of station operations and administrative tasks.
Data Modelling
For data modeling, we utilized the UML Class Diagram to represent the structure and relationships of the station management system. This diagram provided a visual depiction of the system's entities (classes), their attributes, methods, and associations. By mapping out the class hierarchy and interactions, we gained a comprehensive understanding of the system's data model and its behavior.
Software Development
The software development process commenced by crafting both the frontend and backend components of the station management system, ensuring a cohesive and efficient solution.
Frontend Development with JavaFX and Scene Builder
Utilizing JavaFX and Scene Builder, we engineered visually appealing and interactive user interfaces. JavaFX provided a robust framework for building rich client applications, while Scene Builder facilitated rapid prototyping and design. This combination allowed for seamless integration between visual layout and JavaFX code, enabling intuitive and user-friendly interfaces for navigating the station management system.
Backend Development with Java and MVC Methodology
In the backend development, we adopted the Model-View-Controller (MVC) methodology to enhance code maintainability and scalability. Java served as the primary language for backend logic implementation. By segregating the application into model, view, and controller layers, we ensured clear separation of concerns and facilitated easier updates to the codebase. This approach streamlined development and allowed for flexible adaptation to evolving requirements.
Database Creation with MySQL and SQL Operations
The MySQL database was created based on the data model, established earlier through UML Class Diagram. SQL was employed for database manipulation, enabling CRUD (Create, Read, Update, Delete) operations and advanced search functionalities. This ensured efficient data management and retrieval, empowering users to interact with the station management system seamlessly.
Integration and Testing
Frontend and backend components were integrated to form a cohesive system, undergoing rigorous testing to validate functionality and performance. Unit tests, integration tests, and end-to-end tests were conducted to identify and rectify any issues or bugs.
Deployment with Launch4j
Upon successful testing, the station management system was deployed using Launch4j, a cross-platform tool for packaging Java applications into lightweight Windows native executables. This facilitated easy distribution and installation of the application on Windows platforms.

