Code Monkey home page Code Monkey logo

project-app's Introduction

project-app

A megoldandó feladat egy Angular CRUD frontend létrehozása Dockerizált környezetben meglévő API szerverrel. Az API szerver egy Strapi headless CMS, a mögötte található adatbázis egy PostgreSQL. Előbbi helye az api, utóbbi helye a database mappában található. Mindkettő Docker környezetben van, docker compose up paranccsal indíthatóak.

A frontend mappa egy openapi.yaml fájl kivételével üres. Ebbe a mappába szeretnénk kérni az Angular alkalmazást, illetve a Docker-specifikus fájlokba az oda vonatkozó részeket. A cél, hogy egyetlen docker compose up paranccsal a teljes projekt elinduljon (adatbázis, API és frontend).

Az API szerver segítségével projektek hozhatók létre, listázhatók, módosíthatók, illetve törölhetők. A mellékelt frontend/openapi.yaml fájl tartalmazza a lehetséges végpontokat a projektek kezeléséhez. Az adatbázis induláskor egyetlen projektet tartalmaz.

Amennyiben szeretnél belépni a Strapi felületére, azt a http://localhost:1337/admin url-en teheted meg. A default felhasználó email címe: [email protected], jelszava 3*nFcNCT3iqvyqabejS5y3Xk&kf#!gH5B68Dyn4i^% (A feladat megoldásához nem szükséges a Strapi felületre való belépés.)

A felület kialakításába, kinézetébe nem szeretnénk beleszólni, a következő funkciókat szeretnénk kérni:

  • lehessen látni a projektek listáját
  • lehessen új projektet létrehozni
  • lehessen meglévő projektet módosítani (a projekt címét)
  • lehessen meglévő projektet törölni

Amennyiben belefér, nagyon örülnénk, ha a következő megoldásokat is látnánk:

  • NgRx state management használata
  • "sima" HTTP hívások helyett OpenAPI generátor által előállított kód felhasználása, az API ilyen módon történő meghívása. (Ezzel kapcsolatban fontos, hogy a 'delete' metódus az openapi generátor egy ismert hibájából kikerült az openapi.yaml fájlból, vagyis ezt az egy metódust a hagyományos módon, a HttpClient közvetlen meghívásával oldd meg.)

A teljesen fakultatív feladat pedig:

  • pre-commit hook használata (husky), amely linter-ezi a módosult (lint-staged) frontend kódot ESLint és/vagy Stylelint segítségével

A megoldást egy fork-olt GitHub privát repository-ba várjuk.

Ha bármilyen kérdésed van, vagy valami nem akar úgy működni ahogy kéne, kérlek jelezd!

Előre is köszönjük a munkádat!

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.