Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yasith-chathuranga/layered-architecture-yasith
https://github.com/yasith-chathuranga/layered-architecture-yasith
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/yasith-chathuranga/layered-architecture-yasith
- Owner: yasith-chathuranga
- License: mit
- Created: 2023-12-16T04:18:57.000Z (11 months ago)
- Default Branch: yasith-chathuranga
- Last Pushed: 2023-12-18T07:41:54.000Z (11 months ago)
- Last Synced: 2023-12-18T08:38:09.214Z (11 months ago)
- Language: Java
- Size: 154 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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).