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.
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.
- 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.
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.
-
Create Database: Open your preferred MySQL client and execute the following SQL command to create the "company" database:
CREATE DATABASE IF NOT EXISTS company;
-
Run SQL Script: Locate the SQL file named
init_database.sql
in theresources
folder. Run this script in your MySQL client to initialize the database with required tables and data.
-
Clone the repository:
git clone https://github.com/udarasan/layered-architecture.git
-
Open the project in your IDE.
-
Build and run the application.
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
|-- ...
To run the project, follow these steps:
- Open the project in your IDE.
- Build and run the application.
For detailed usage instructions or examples, refer to the documentation provided in each layer's package.
This project is licensed under the MIT License.