public/subjects/ascii-art-web
nprimo 29b2fc9d6f fix: update broken links in `audit/README.md` files 2023-09-11 11:17:57 +01:00
..
audit docs(ascii-art-web): make audit coherent with subject 2022-12-20 08:35:18 +01:00
dockerize fix: update broken links in `audit/README.md` files 2023-09-11 11:17:57 +01:00
export-file fix: update broken links in `audit/README.md` files 2023-09-11 11:17:57 +01:00
stylize fix: update broken links in `audit/README.md` files 2023-09-11 11:17:57 +01:00
README.md issue #900 adding more information to subject 2022-01-31 14:44:28 +00:00

README.md

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.

Your webpage must allow the use of the different banners:

Implement the following HTTP endpoints:

  1. GET /: Sends HTML response, the main page.
    1.1. GET Tip: go templates 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 to make the post request.\

The way you display the result from the POST is up to you. What we recommend are one of the following :

  • Display the result in the route /ascii-art after the POST is completed. So going from the home page to another page.
  • Or display the result of the POST in the home page. This way appending the results in the home page.

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.

Allowed packages

Usage