Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yasith-chathuranga/layered-architecture-yasith


https://github.com/yasith-chathuranga/layered-architecture-yasith

Last synced: 3 days ago
JSON representation

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