Giter VIP home page Giter VIP logo

appollo's Introduction

apPOLLo

Status CI/CD

Continuous Integration

Deploy backend

Deploy frontend ▶️ pages-build-deployment

Wstęp

Opis

Jest to aplikacja zaliczeniowa na przedmiot "Systemy klasy Enterprise" w ramach projektu zaliczeniowego. Aplikacja jest oparta na Spring Framework oraz REST Api. Początkowo pracowaliśmy na bazie h2 która była zapisywana do pliku/pamięci. Aktualnie posiadamy zdeployowaną aplikacje jak i bazę Postgres na serwerach Azure. Dodatkowo stworzyliśmy aplikację webową wykorzystującą Angular w celach prezentacji naszego REST Api, która z kolei deployowana jest na Github Pages. Cały kontrolowany proces tworzenia aplikacji odbywał się za pośrednictwem Github z skonfigurowanym CI oraz CD oraz wykorzystując system zarządzania gałęziami Gitflow. CI zostało również zintegrowane z testami jednostkowymi do konwerterów i serwisów z naszej aplikacji, a także testami jednostkowymi aplikacji Angularowej.

Przeznaczenie działania naszego REST Api

Głównym zadaniem naszego Api jest obsługa potencjalnej aplikacji webowej której zadaniem byłoby tworzenie ankiet, wypełnianie ich i tym samym dostarczenie informacji o podanych odpowiedziach do każdej ankiety. Wszystko jest możliwe dla podstawowych użytkowników zalogowanych którzy mogą wypełniać ankiety zaś administratorzy aplikacji są w stanie tworzyć nowe ankiety, modyfikować je bąć też usuwać.

Więcej szczegółowych informacji o naszej aplikacji w folderze z dokumentacją.

Środowiska produkcyjne

  • Frontend zdeployowany do Github Pages

  • Backend zdeployowany do Azure Web Apps

  • Baza danych (PostgreSQL) zdeployowana do Azure

Środowisko developerskie

Backend

Backend napisany jest w Java 11 z użyciem frameworku Spring Boot.

Po przejściu do folderu źródeł backendu:

cd backend

Można zbudować projekt za pomocą:

# Dla ustawień dev (lokalna baza danych):
mvn clean package
# Dla ustawień prod (baza PostgreSQL na Azure, NOTE - wymagane hasło w zmiennej środowiskowe):
mvn clean package -Denvironment=prod

Budowanie projektu przeprowadza również zawarte w nim testy jednostkowe.

Następnie można go uruchomić:

# Dla ustawień dev (lokalna baza danych):
mvn spring-boot:run
# Dla ustawień prod (baza PostgreSQL na Azure, NOTE - wymagane hasło w zmiennej środowiskowe):
mvn spring-boot:run -Denvironment=prod
# Można także wykorzystać wcześniej zbudowany plik .jar
java -jar ./target/*.jar

Frontend

Frontend jest napisany w TypeScript z użyciem frameworku Angular.

Po przejściu do folderu źródeł backendu:

cd frontend

należy zainstalować zdefiniowane tam paczki za pomocą:

npm install

Następnie można uruchomić dewelopersko projekt za pomocą:

npm start

Lub można również budować projekt do plików statycznych za pomocą:

npm run build

W międzyczasie można także uruchomić testy jednostkowe za pomocą:

npm run test

Więcej informacji w podfolderze frontend

appollo's People

Contributors

ksk98 avatar mmosiur avatar paulpawelec avatar rafalplak avatar rafk-os avatar xszym avatar

Stargazers

 avatar

Watchers

 avatar  avatar

appollo's Issues

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.