Siren.se är ett specialutvecklat svenskt nyhets- och innehållshanteringssystem. Det används till att skapa, hantera och distribuera nyhetsartiklar till kunder runtom i Sverige via en nyhetsportal.
LiteBreeze byggde den här mycket skalbara redaktörsportalen med Laravel som ramverk. För frontend-användarna utvecklades ett smidigt meddelandesystem med Laravel Console. UI:t är utvecklat med på Vue.js, jQuery och Bootstrap 4.
Delarna för att skriva och hantera nyheter är uppbyggda med specialutvecklade komponenter i Vue.js för att ge en rik användarupplevelse.
För den huvudsakliga lagringen används MySQL, tillsammans med Elasticsearch för att möjliggöra kraftfulla sökningar i fulltext.
Systemet har utvecklats med ökande krav på skalbarhet i åtanke, så det är byggt med robusta AWS-tjänster.
Boolesk sökning: Den booleska sökningen på nyhetssidan låter användarna kombinera sökord och operatorer som ”och”, ”inte”, och ”eller” för att ge mer relevanta resultat och utvidga sökningen till artiklarnas dokumenttext.
Notifikationer i realtid: Laravels kösystem används för att skicka notifikationer i realtid till prenumeranter. Kösystemet skjuter upp tidskrävande uppgifter som att skicka e-post till ett stort antal användare, vilket förbättrar webbförfrågningarnas hastighet.
Schemalagda notifikationer: Laravels schemaläggare skickar schemalagda notifikationer till prenumeranterna. Schemaläggaren gör det möjligt att hantera schemat med kommandon inuti Laravel i stället för att behöva ändra cronjobben via SSH.
Tidszon: Applikationens tidszon kan ställas in efter behov. All tidsrelaterad data sparas i UTC och applikationens tidszon kan ändras när som helst.
Stöd för flera språk: Applikationen stöder engelska och svenska. Användaren kan enkelt byta språk under inställningar.
AWS-tjänster: AWS (Amazon Web Services) S3 används för datalagring. En kraftfull EC2-instans används för att ge slutanvändaren en smidig användarupplevelse.
Kodstandard: Applikationen följer kodstandarden PSR-2 för att hålla koden läsbar och lätt att hantera med lämpliga docblocks.
Mallar: I den här applikationen används AdminLTE-mallar ovanpå Bootstrap för responsiva och återanvändbara element.
Databas: För bättre datasäkerhet och enklare backup har Amazon RDS integrerats med MySQL-databasen.
Förbättrade notifikationer i realtid: En av de största utmaningarna är att snabba upp systemet för notifikationer i realtid. I takt med att antalet användare växer måste omedelbara notifikationer hänga med.
Förbättrat och skalat UX: Användarupplevelsen skulle kunna förbättras ytterligare genom att göra om de nuvarande jQuery-lösningarna till Vue.js.
Elasticsearch: Att uppdatera Elasticsearch till den senaste versionen skulle kunna förbättra sökhastigheten och den allmänna användarupplevelsen.