This project is for complaint about data at Ministry of Education Division of Educator, this application is use widely in Indonesia. Target User about 100K Users, where 1 User == 1 School.
For this project, We use 3 virtual servers. Each server has
3 Virtual Core,
8Gb Ram and
CentOS 6.6. We use separate process on separate server.
Server List :
1) Nginx + PHP-FPM
2) MariaDB, Redis
3) MariaDB, Java, Openfire XMPP, Nginx,
This project has 4 Role :
1) Admin of Ministry
2) Province User
3) Cities User
4) School User
The ticketing system is tiered. So School can only send ticket to Cities. Cities can send tickets to Province, and Province can send ticket to Admin of Ministry.
Forwarding system also tiered, Cities can forward to Province. Province can forward to Admin of Ministry. And Admin of Ministry can forward to their fellows.
Every ticket, can has attachment, up to size 5Mb. Extension for upload can be set too.
And, every activities, make ticket status changed into, open, answered, forward, and close.
User interface built to easiest operation, and truly straight forward.
Last but not least, this project has chat system, I use XMPP, exactly
Openfire. And for the frontend I use
Tiered Ticket System
This can be tricky, especially when add a new role
Multi User and Multi Role
This project has so many user, because this application targeted into 100K users all of Indonesia School. And it has 4 Role.
Auto close ticket
When status ticket is answered, the ticket will be autoclose within 7 days (can be set)
I use redis, via laravel queue daemon
Auto Assign Ticket
When ticket sent, it must be somebody to take care about the ticket, what happened when someone has too much ticket to handle?
This feature must be available. But this feature will be available within next month (Aug 2015)
I use codeception with webdriver to make this done
2014 - 2016 Jul
Building multi user and multi role application is a little hard, especially when do automated testing.