Introduction
The Hacktoberfest is right around the corner and I want to try something new.
Last Year I`ve written, with some tips and motivation of @negue
, a Website to document my carpool rides.
Overall it just worked and it was more practical then beautiful, but it proved to me, that I am capable of writing a piece of software without any help of a collegue and that was all I wanted at that moment.
Later on I have upgraded my CI and implemented Cypress and Karma Tests.
That was one year ago....
The idea
I want to write a Chatbot who does one thing.
Tell the person, who is chatting with it, where I am.
The Why
Last year I had a lot of meetings and tasks of my desky colleagues wondered where I was...
The How
The Chatbot should work inside of Discord, so it can run of my Raspberry Pi.
It should handle basic questions, like "Where is Henry" and it would reply between 9 to 5 "At his Desk".
When there is something special like Vacations,a Meeting or something like that, my Bot would give you this answer as well, but how should the Bot know that kind of stuff?
My Idea is that the Bot communicates with a Server, which is also running of my Raspberry, which is saving these informations on a SQLite DB.
But the Bot can only read the information and not write something new.
So the fourth component in this plan is a Angular based Webapp which manages all Infos and can modify or delete new entries.
At the End the architecture should look like this:
Because the Architecture is somewhat comparable with this:
And this is why the Project is called, thanks to @negue again, "The Flux capacitor Project"
Used Languages
Server
I want to write the Server in C# .Net Core with a REST-API to run it of the Raspberry Pi.
Bot
Currently im not sure if I want to ride the Discord Bot in node.js or C#. The time will tell, what I will pick...
Webapp
Because on this project I want to focus on writing a REST-API and Chatbot from Scratch, it will be Angular.
Possible difficulties
Server-Architectur
I am not so familiar with setting up a REST-API from scratch as it would be helpful at this project. So something new to learn is exciting!
Authentication and accesability
I have to be careful that it is only possible to add or edit data only from inside my local Network, so that nobody is spamming my database with fake datasets. Besides that only me should be able to do this anyway.
We will see what the Time will bring
Top comments (0)