Git Product home page Git Product logo

json-tools's Introduction

JSON-tools

Opis projektu

Aplikacja dla programistów, którzy potrzebują przeformatować lub filtrować struktury danych zapisane w formacie JSON a także porównać ze soba struktury. JSON tools pozwala zarówno na zminifikowanie niezminifikowanej reprezentacji JSON, a także na operację odwrotną (z dodaniem wszelkich odstępów i nowych linii). Aplikacja będzie dostępna poprzez GUI, a także jako zdalne API, dzieki czemu można ją zintegrować z istniejącymi narzędziami.

Autorzy

Product backlog

Dokumentacja

Dostępna na github-pages.

Diagram klas

diagram

Dystrybucja

Paczka dostępna w folderze jars.

Status ostatniego builda

example workflow

Generate docs and package

pages-build-deployment

json-tools's People

Contributors

endrju00 avatar wiktoriakeller avatar dawidmichalak avatar kaczm avatar

Watchers

 avatar  avatar  avatar

json-tools's Issues

Automatyczne budowanie

Aplikacja buduje się w sposób automatyczny (kompilacja, stworzenie paczki do dystrybucji - np. jar).

Zadania

  • Automatyczne budowanie
  • Stworzenie paczki do dystrybucji

Ciągła integracja

Skonfigurowano środowisko ciągłej integracji i prowadzący ma do niego dostęp (serwer CI reaguje na zmiany w repozytorium kodu i uruchamia proces budowania).

Zadania

  • Skonfigurowanie środowiska ciągłej integracji

Uzyskanie struktury w formacie JSON nie zawierającej określonych własności

Jako programista mogę uzyskać strukturę w formacie JSON nie zawierającą określonych własności, aby uprościć strukturę

Kryteria akceptacji

  • Kształt danych nie ulega zmianie
  • Obiekty JSON posiadają tylko wybrane własności (wszystkie inne są usuwane)
  • Zgłoszenie błędu dla niepoprawnego JSON-a

Zadania

  • Do uzupełnienia

Przydatne materiały

  • Do uzupełnienia

Uzyskanie pełnej struktury w formacie JSON z jej zminifikowanego zapisu

Jako programista mogę uzyskać pełną strukturę w formacie JSON ze zminifikowanego zapisu w formacie JSON, aby polepszyć czytelność danych.

Kryteria akceptacji

  • Kształt danych nie ulega zmianie
  • Zapis zawiera prawidłowe wcięcia
  • Zgłoszenie błędu dla niepoprawnego JSON-a

Zadania

  • Formatowanie danych

Przydatne materiały

  • Do uzupełnienia

Porównywanie dwóch struktur w formacie JSON

Jako programista mogę porównać dwa teksty (np. reprezentujące strukturę danych w formatach JSON) oczekując, że aplikacja pokaże linijki, w których występuje różnica.

Kryteria akceptacji

  • Program wskazuje poprawne linijki, w których występuje różnica.
  • Zgłoszenie błędu w przypadku niepoprawnych danych.

Zadania

  • Zaprojektowanie sposobu porównywania tekstów.

System zarządzania wersjami

Kod jest pod kontrolą systemu zarządzania wersjami (Github) i prowadzący ma do niego dostęp.

Zadania

  • Kod jest pod kontrolą systemu zarządzania wersjami
  • Prowadzący ma dostęp

Uzyskanie struktury w formacie JSON zawierającej określone własności

Jako programista mogę uzyskać strukturę w formacie JSON zawierającą tylko określone własności, aby uprościć strukturę

Kryteria akceptacji

  • Kształt danych nie ulega zmianie
  • Z obiektów JSON usuwane są wszystkie własności poza tymi przekazanymi na wejściu
  • Zgłoszenie błędu dla niepoprawnego JSON-a

Zadania

  • Podzielenie struktury na określone własności
  • Do uzupełnienia

Przydatne materiały

  • Do uzupełnienia

Wzorzec projektowy

Podczas implementacji wykorzystano sugerowany wzorzec projektowy w proponowanym zakresie: JSON tools - wzorzec dekorator do dynamicznego tworzenia wyjścia na bazie poszczególnych opcji (np. filtrowanie, minifkacja).

Implementacja interfejsu graficznego

Jako użytkownik mogę korzystać z aplikacji przy pomocy interfejsu graficznego.

Kryteria akceptacji

  • GUI jest udostępnione z poziomu przeglądarki internetowej.
  • Można korzystać z wszystkich zaimplementowanych funkcji przy pomocy GUI.
  • Użytkownik jest informowany o podaniu błędnych danych wejściowych.

Dokumentacja kodu

Dokumentacja generuje się w sposób automatyczny podczas budowy oprogramowania

Zadania

  • Dokumentacja generuje się w sposób automatyczny
  • Przynajmniej 1 klasa / interfejs posiada pełną dokumentację techniczną* (javadoc, itp.)

Możliwość korzystania z dostępnych funkcji poprzez REST

Jako twórca zewnętrznego oprogramowania, mogę korzystać z dostępnych funkcji zdalnie poprzez REST, aby móc zintegrować narzędzie z innymi aplikacjami.

Kryteria akceptacji

  • Wejście w formacie JSON zawierające strukturę do transformacji
  • Wejście transformowane do postaci modelu obiektowego
  • Wyjście w formacie JSON
  • REST API umożliwia uruchomienie dowolnej aktualnie zaimplementowanej funkcji.

Zadania

  • Poznanie technologii
  • Instalacja
  • Konfiguracja projektu

Przydatne materiały

Uzyskanie zminifikowanej struktury w formacie JSON

Jako programista mogę uzyskać zminifikowaną strukturę w formacie JSON na podstawie pełnego zapisu w formacie JSON, aby zmniejszyć rozmiar danych.

Kryteria akceptacji

  • Kształt danych nie ulega zmianie
  • Zapis nie zawiera niepotrzebnych spacji
  • Zapis mieści się w jednej linii
  • Zgłoszenie błędu dla niepoprawnego JSON-a

Zadania

  • Ładowanie danych
  • Sprawdzanie poprawności
  • Usuwanie białych znaków
  • Zwrócenie danych

Przydatne materiały

  • Do uzupełnienia

Uzyskanie liczby wystąpień danego klucza

Jako programista mogę uzyskać liczbę wystąpień danego klucza w obiekcie JSON

Kryteria akceptacji

  • Zwracanie nowego obiektu zawierającego zadany klucz oraz liczbę wystąpień
  • Zgłoszenie błędu dla niepoprawnego JSON-a

Analizowalność kodu

Analizowalność kodu (logowanie wykonania)

Zadania

  • Użycie biblioteki SL4J do logowania wykonania na poziomie DEBUG i INFO

Oznaczenia wersji

Kod określający inkrement produktu jest oznaczony w repozytorium (tag = numer wersji) oraz odpowiednia wersja w pom.xml.

Zadania

  • Oznaczenie w repozytorium
  • Oznaczenie w pom.xml

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.