I have developed captive portal project which can working with (mikrotik, openwrt, fortigate firewall)
it can working on cloud and locally
you can control with all users and there's properties like (quota , bandwidth, login time , expiration time , session time , idle time out ...etc.)
social login
sms login
login by qr code automatically (scan qrcode which printed on voucher and login automatically )
email message
sms message
view logs which can include (username , start date, stop date , mac address , ip address , duration time , download , upload )
administration config
backup
snmp view
and a lot of features
you can message me for more details