Code Monkey home page Code Monkey logo

strucna_praksa's Introduction

Readme

Opis

Potrebno je u Laravelu napraviti ticketing sustav.

Što je ticket + primjer

Ticket je u poslovnom svijetu, jednostavno rečeno, nešto poput zadatka.

Npr. zovete A1 jer smatrate da vam je račun za mobitel došao previsok.

Kada nazovete A1, sa druge strane vam se javi agent koji vas sasluša i u sustavu otvori ticket. Ticket mora imati svoj naziv kako bi drugi zaposlenici iz A1 znali o čem se radi. To može biti npr. "Račun za mobitel". Uz to je potrebno da se zna tko je podnio ticket kako bi znali kome se javiti jednom kada se problem riješi (ili ako su potrebne dodatne informacije). Zadnje što je potrebno je da ticket ima osobu koja je zadužena za taj ticket, tj. tko je odgovoran da riješi korisnikov problem (to može biti jedna ili više osoba).

Kad agent zaprimi vaš poziv, otvoriti će ticket na vaše ime naziva "Račun za mobitel" i zadužiti će na njega nekog iz računovodstva da provjeri o čem se radi. Jednom kad računovodstvo provjeri i vidi da je račun opravdan (npr. dobili ste veći račun jer ste taj mjesec zvali nekog u inozemstvu), prezadužiti će taj ticket na recimo šefa financija da vam se zbog toga što ste dugogodišnji korisnik ipak izađe na ruku i da popust. U tom trenutku šef financija prezaduži ticket natrag na agenta koji vas obavijesti o dobrom ishodu i zatvori ticket.

Primjera može biti beskonačno: zvali ste HEP jer vam je nestalo struje, zvali ste banku jer vam je istekao mobilni token za m-banking, zvali ste osiguravajuće društvo jer vas je na parkiralištu netko udario, zvali ste Ri-stan jer vam nisu poslali račun za ovaj mjesec, zvali ste Tele2 jer želite otkazati ugovor...sve su to validni razlozi za otvaranje novog ticketa, koji će ovisno o načinu poslovanja zahtjevati razne korake da se dođe do rješavanja ticketa.

Za sve ostalo: ovaj link

Zadatak

Vaš zadatak je napraviti jednostavan ticketing sustav. Iako je ovaj readme na HR, codebase (sve varijable, metode, modeli, baza itd.) mora obavezno biti na EN.

Bazu ćete složiti sami na način koji vam najviše ima smisla, međutim neke smjernice su da obavezno imate 4 modela:

User        <- korisnik sustava tj. agent. Ovo NIJE osoba koja zove
Ticket      <- ticket
State       <- stanje ticketa (npr. otvoren, zadužen, zatvoren...)
Comment     <- komentari usera na ticket (npr. napravio sam to i to, prezadužio na tog i tog)

Slobodni ste proširiti ovo na način da dodate nove modele koji vam imaju smisla, ali neka to bude max onda 4 modela ekstra (dakle 8 ukupno).

Nekakav okviran plan razvoja:

  • izrada migracija kako bi složili bazu
  • izrada modela
  • izrada relacija među modelima
  • izrada kontrolera za akcije koje se mogu izvršiti nad modelima. Očekuje se da za svaki model podržavate tzv. CRUD (Create, Read, Update, Delete) operacije zajedno sa updateom relacija koje ti modeli na sebi imaju.
  • izrada bazičnog viewa
  • održavanje readme fajla ažurnim (što ste radili, s čim ste imali problema)

Dodatno (nije potrebno, ali ako budete turbo brzi):

  • Upotreba nekog CSS frameworka da cijela priča izgleda ljepše

Napredak

18.5. - napravljene migracije i modeli te veze između modela(nisam siguran ako su dobre)
19.5. - popravljeni odnosi između modela(comment i ticket) i dodani atributi u tablice
1.6. - napravljen cijeli CRUD za ticket uz dodatak search funkcije za pretragu ticketa, dodana mogućnost promjene stanja ticketa kao i komentiranja ticketa, započeta izrada CRUD-a za komentare
17.6. - cijela stranica funckionalna uz dodatak određenih mogućnosti poput requesta za više usera na ticket. Dio stranice za klijente također dodan te izrađen cijeli autentikacijski sustav.

strucna_praksa's People

Watchers

D.M. Condric avatar

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.