---
id: purpose
title: Purpose
sidebar_label: Purpose
---

## Table of Contents

* **[Introduction](#introduction)**
* **[What is AWE?](#what-is-awe)**
* **[Technology stack](#technology-stack)**

## Introduction

We look forward to create a product for helping software companies to overcome the problems they may face:

* Large development teams imply **huge training costs** on new technologies and losing focus on business logic.
* **Necessity of migrate** instead of rebuild old applications from scratch.
* Technology evolution is speeding up and we need **stable process of development**.

## What is AWE?

AWE is an engine which allows developers to define structures which are translated 
into web screens, **without knowing anything about web development** and getting isolated 
from web technology progress, but getting benefit of it.

AWE also provides some tools to make the web development easier, such as:

* Hability to use various **authentication** methods.
* Perform **queries** to SQL and NO-SQL databases.
* Send/receive messages over **JMS queues**.
* Launch **services** to interact with your business logic:
  * Direct **Java** method calls.
  * Connect to **microservice** architectures.
  * Simplified **REST** API calls.
* Automatic **email** composing made easy.
* Retrieve screen data as a **report**.
* **Multiple language** support.
* Customize your application with our color **themes**.
* Add our **pregenerated screens** ready to be used.

## Modules

There are several modules developed around AWE which offer some useful functions for app development and management:
* **Developer**: Development tools to ease AWE applications development. This module provide several functions such as dynamic locale generation or CRUD window generation. 
* **Scheduler**: Process scheduler. Allows to run scheduled tasks whenever a condition is fulfilled: launch on a certain date, when a file has changed or manually.
* **Tools**: Set of DevOps tools which can be integrated as application options. It provides an SQL query launcher and a file manager.
* **Rest**: Module which generates a REST API automatically for the AWE-generated application. Automatic documentation provided by Swagger.

## Technology stack

Check our latest technology stack on [![StackShare](https://img.shields.io/badge/tech-stack-0690fa.svg?style=flat)](https://stackshare.io/almis-informatica-financiera/aweframework)

### Languages

* HTML5
* Javascript/ES6/ES7
* Java
* CSS
* Markdown

### Frameworks

* AngularJS & ES6
* Less
* Spring Framework
* Bootstrap

### Libraries

* Redux.js
* Socket.IO
* Highcharts
* Font Awesome

### Databases

* MongoDB
* Microsoft SQL Server
* MySQL
* MariaDB
* Oracle
* HSQLDB

### Application servers

* Apache Tomcat
* WildFly
* Oracle Weblogic
* IBM Websphere

### DevOps

* Build tools
  * Apache Maven
  * Node
  * Yarn
  * Webpack
  * Babel

* Version control & documentation
  * Git
  * GitLab
  * Markdown
  * Docusaurus

* QA & Analytics
  * Gitlab CI
  * Docker
  * Kubernetes
  * ESLint
  * Sonarcloud
  * JUnit
  * Karma & Jasmine
  * Selenium