Pomoc przy tworzeniu aplikacji WEB

0

Witam :),
Nazywam się Daniel Olszewski i jestem uczniem 2 klasy technikum o profilu informatycznym.
Tak jak w temacie potrzebuje pomocy ze stworzeniem aplikacji WEB. Dostałem zadanie stworzyć aplikacje od firmy w której to chciałbym załatwić sobie praktyki. To zadanie ma sprawdzić moje umiejętności nauki, wyszukiwania oraz przyswajania informacji.
Od razu mówię, że jeżeli zakładam temat w złym miejscu to przepraszam ale nie jestem zbytnio obeznany :).
Przesyłam treść zadania:

Zadanie testowe:
Technologie:

        Apache Maven 3
        Apache Tomcat 8
        Java 7
        Apache POI
        Hibernate
        PostgreSQL
        Spring MVC
        JSP, HTML 5, jQuery 
        Tiles 3
        Bootstrap

Założenia realizacyjne:

Aplikacja WEB, frontend wykonany z użyciem JSP, HTML 5, jQuery oraz Bootstrap. Frontend składany z użyciem Tiles. Całość wykonana z użyciem frameworka Spring MVC. Warstwa DAO z użyciem Hibernate, baza danych PostgreSQL. Aplikacja budowana Maven, osadzona na serwerze aplikacyjnym Tomcat. Do parsowania plików XLS i XLSX należy użyć biblioteki Apache POI.

Założenia funkcjonalne:

Pierwsza cześć aplikacja ma umożliwić zaimportowanie plików XLS i XLSX do odpowiedniej tabeli w bazie danych.
Interfejs użytkownika ma umożliwić wskazanie pliku do zaczytania oraz informować o wyniku operacji (import z błędami wraz ze wskazaniem błędu np niepoprawny format pliku, import poprawny itp). Po stronie serwera, aplikacja ma dokonać walidację pliku pod względem formatu (tylko XLS i XLSX) oraz zweryfikować poprawności formatu danych (data, wartości liczbowe, zmiennoprzecinkowe itp), czyli zabezpieczyć przed wprowadzeniem niepoprawnej wartości w danej kolumnie.
W importowanym pliku pierwsza kolumna określa system do którego dane są importowane. Lista dostępnych systemów znajduje się w tabeli System. Aplikacja na podstawie nazwy systemu powinna wyszukać identyfikator systemu i wykorzystać go podczas zapisu danych do tabeli SystemContract.
Druga cześć aplikacji powinna umożliwić prezentację danych zapisanych w tabeli SystemContract w formie tabelki z użyciem pluginu jQuery DataTable. Prezentacja danych zgodna z formatem pliku Excel.
Pod tabelką powinien znajdować się formularz pozwalający na dodawanie i edycję danych. Po kliknięciu w wybrany wiersz tabeli dane przenoszą się do formularza umożliwiając edycję. W tabeli w dodatkowej kolumnie powinien znajdować się link pozwalający na usunięcie danego wpisu (operacja wykonywana po dodatkowym potwierdzeniu przez użytkownika).
Zalecane by zarówno import jak i tabelka znajdowały się na jednej wspólnej stronie.

    Dane testowe należy przyjąć zgodnie ze strukturą tabel. W załączniku struktura pliku Excel, poniżej struktura tabel które należy zaimplementować po stronie bazy danych.

Struktura tabel:

    tabela zawierająca listę zdefiniowanych systemów

        system
        (
          id bigint NOT NULL,
          description character varying(500),
          name character varying(50),
          support_group character varying(50)
        )
        Primary Key(id)
        UNIQUE(name)
        UNIQUE(support_group) 

    tabela zamówień w ramach danego systemu

        system_contract
        (
          id bigint NOT NULL,
          active boolean,
          amount numeric(19,2),
          amount_period character varying(5),
          amount_type character varying(5),
          authorization_percent numeric(19,2),
          from_date date,
          order_number character varying(12),
          request character varying(12),
          to_date date,
          system_id bigint,
        )
        Primary Key(id)czwartku
        Foreign Key (system_id) -> System (id)
        UNIQUE (request, system_id)

Nie proszę oczywiście o wykonanie aplikacji za mnie ^^. jak na razie to co udało mi się zrobić to projekt z użyciem Eclipse MARS, Spring MVC oraz Apache Tiles z użyciem tego poradnika: http://o7planning.org/web/fe/default/en/document/920321/using-template-in-spring-mvc-with-apache-tiles
Efekt umieszczam w załączniku obraz.jpg.
Przesyłam również obraz ze screenem z eclipse (screen.jpg).
W następnym kroku chciałbym utworzyć przycisk taki jak Home i Contact Us z tym że umożliwiający zaimportowanie plików XLS i XLSX do odpowiedniej tabeli w bazie danych.
W każdym razie tak mi się wydaje że powinienem to zrobić :), jeżeli nie to proszę o porady i informacje, tak jak mówiłem jestem zielony w praktycznie wszystko co tutaj jest zawarte :).

2

Uwaga nr 1. firma mi wygląda na tzw. JanuszSoft, skoro na darmowe praktyki stawiają takie wymagania :( (przede wszystkim czasochłonność zadania)
Uwaga nr 2. wiedza to skarb, więc oczywiście warto byś rozwijał ów projekt chociażby traktując to jak wyzwanie :)
Uwagi konkretne:

  1. stwórz model - DTO: System, SystemContract
  2. Na początek zrobiłabym po prostu wczytywanie pliku (walidacje na strukturę dodała później) i zapis do zmiennej zdefiniowanej w punkcie 1.
  3. potrzebujesz skonfigurować połączenie z bazą
  4. stworzyć encje
  5. stworzyć manager, który będzie obsługiwał zapis listy wczytanej z pliku.
    itd.
0

Dziękuje za odpowiedź :), oczywiście nawet jeżeli nie wyrobie się z projektem (czas mam do piątku 19) to dalej będę się starał go kontynuować. Dyrektor (albo ktoś taki) tej firmy powiedział mi że jeżeli nie skończę do czasu to mam wysłać to co zrobiłem :). Czy mogę prosić o jakiś link do poradnika jak zabrać się za stworzenie tego modelu lub którejkolwiek z tych rzeczy? Tak jak mówiłem zakres mojej wiedzy kończy się na podstawach html, css i javy xD.

1 użytkowników online, w tym zalogowanych: 0, gości: 1