## ascii-art-web
### Objectives
Ascii-art-web consists in creating and running a server, in which it will be possible to use a web **GUI** (graphical user interface) version of your last project, [ascii-art ](../ascii-art ).
Your webpage must allow the use of the different banners:
- [shadow ](../ascii-art/shadow.txt )
- [standard ](../ascii-art/standard.txt )
- [thinkertoy ](../ascii-art/thinkertoy.txt )
Implement the following HTTP endpoints:
1. GET `/` : Sends HTML response, the main page.\
1.1. GET Tip: [go templates ](https://golang.org/pkg/html/template/ ) to receive and display data from the server.
2. POST `/ascii-art` : that sends data to Go server (text and a banner)\
2.1. POST Tip: use form and other types of [tags ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element ) to make the post request.\
The main page must have:
- text input
- radio buttons, select object or anything else to switch between banners
- button, which sends a POST request to '/ascii-art' and outputs the result on the page.
### HTTP status code
Your endpoints must return appropriate HTTP status codes.
- OK (200), if everything went without errors.
- Not Found, if nothing is found, for example templates or banners.
- Bad Request, for incorrect requests.
- Internal Server Error, for unhandled errors.
## Markdown
In the root project directory create a `README.MD` file with the following sections and contents:
- Description
- Authors
- Usage: how to run
- Implementation details: algorithm
### Instructions
- HTTP server must be written in **Go** .
- HTML templates must be in the project root directory _templates_ .
- The code must respect the [good practices ](../good-practices/README.md ).
### Allowed packages
- Only the [standard go ](https://golang.org/pkg/ ) packages are allowed
### Usage
- [Here's an example ](http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20 ).