# Layered Architecture Project Welcome to the Layered Architecture project! This project is developed for educational purposes, specifically to teach Layered Architecture concepts to students in the GDSE program at IJSE. ## Overview This project is designed to demonstrate the principles of layered architecture, a common architectural pattern used in software development. The project showcases the separation of concerns and modularity by dividing the application into distinct layers. ## Table of Contents - [Features](#features) - [Getting Started](#getting-started) - [Prerequisites](#prerequisites) - [Database Setup](#database-setup) - [Installation](#installation) - [Project Structure](#project-structure) - [Usage](#usage) - [License](#license) ## Features - **Layered Architecture:** The project follows a layered architecture pattern, emphasizing the separation of concerns. - **Educational Purpose:** Developed to help GDSE students understand and apply layered architecture concepts. - **Modularity:** Each layer is designed to be modular and independent, facilitating ease of maintenance and scalability. ## Getting Started ### Prerequisites Before you begin, ensure you have met the following requirements: - Java Development Kit 11 (JDK) installed. - Integrated Development Environment (IDE) like IntelliJ IDEA or Eclipse. - Git for version control. - MySQL or another relational database management system installed. ### Database Setup 1. **Create Database:** Open your preferred MySQL client and execute the following SQL command to create the "company" database: ```sql CREATE DATABASE IF NOT EXISTS company; ``` 2. **Run SQL Script:** Locate the SQL file named `init_database.sql` in the `resources` folder. Run this script in your MySQL client to initialize the database with required tables and data. ### Installation 1. Clone the repository: ```bash git clone https://github.com/udarasan/layered-architecture.git ``` 2. Open the project in your IDE. 3. Build and run the application. ## Project Structure (Initial) ``` layered-architecture/ |-- src/ | |-- main/ | |-- java/ | |-- com/ | |-- example/ | |-- layeredarchitecture/ | |-- controller/ | |-- db/ | |-- view/ | |-- model/ |-- resources/ | |-- company-db.sql # SQL script to initialize the "company" database |-- README.md |-- .gitignore |-- LICENSE |-- ... ``` ## Usage To run the project, follow these steps: 1. Open the project in your IDE. 2. Build and run the application. For detailed usage instructions or examples, refer to the documentation provided in each layer's package. ## License This project is licensed under the [MIT License](LICENSE). # layered-architecture-weerapperuma