ARMmaster17 / JeffBot

(Yet another) comical and extensible chat bot.
https:\\jeffchatbot.herokuapp.com
MIT License
9 stars 2 forks source link

Separate Frontend from Backend #23

Closed FreekingDean closed 8 years ago

FreekingDean commented 8 years ago

I think this might be best broken into separate applications.

The front end applications are really more so clients and the backend application is the true brains.

Just throwing out the idea of this. I am working in my fork to see how it could work.

I think it would be something like this:

[MESSAGE] -> Frontend App: send to Backend.learn queue send to Backend.speak queue & wait for response on response frontend queue (optional)

[LEARN QUEUE] -> BACKEND: save it

[SPEAK QUEUE] -> BACKEND: find suitable response send response to Frontend.send_response queue

FreekingDean commented 8 years ago

This will also allow you to have all different interface apps. And it allows anyone to use the same basic backend.

ARMmaster17 commented 8 years ago

Interesting idea. The main issue at this point is that they would have to be broken into separate apps (since it costs more to have more than two processes). If possible, see if there is a way to 'ping' each component through HTTP so that they are all awake when a user shows up.

FreekingDean commented 8 years ago

I can run it hobby style :)

On Tue, Apr 26, 2016, 8:00 PM Joshua Zenn notifications@github.com wrote:

Interesting idea. The main issue at this point is that they would have to be broken into separate apps (since it costs more to have more than two processes). If possible, see if there is a way to 'ping' each component through HTTP so that they are all awake when a user shows up.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/ARMmaster17/JeffBot/issues/23#issuecomment-214924558

ARMmaster17 commented 8 years ago

That works. I might just eventually migrate off of heroku onto one of my machines in my basement. Might be slower but at least there aren't any restrictions on size or scalability.

FreekingDean commented 8 years ago

You can see this here: https://github.com/FreekingDean/JeffBot

FreekingDean commented 8 years ago

Once I have a full fleshed out frontend separate app I will make a PR.

I did use the standalone migrations gem. So migrations are easier.

When you need to change the DB at all run rake db:new_migration name=name_of_migration

I also updated the DB with a proper db_name, username & password. Those would be breaking changes to your dev environment. It still uses herokus PG URL though.