The problem is that SQLite was not made for concurrent connections, even in wal mod is not and industrial type database.
You should use MySQL, MariaDB or Sql Server for this kind of projects.
Idle timeout expired: 30000/30000 ms
This means that the database was expecting a connection to SQLite and this one never gave it.
The way SQLite works is: 1 writing user will block the database completly when he finish the database is going to be released, if a read-user tries to enter the database in this state it will wait for up to 5 seconds, if database is still busy it will throw an exception.
I do not remember how many read users can access the database but most likely it has a limit too.