Context
Team
- Myself
Technologies in use
- Micro services
- Java with Spring for the API
- Postegresql for the database
- NodeJs for the backend (keys emulation)
- ReactJs and Nginx for the frontend
- Nginx for the reverse Proxy
- Docker&Docker Compose for the deploiement
Project requirements
This is a personal project with no pretensions. I quickly realized that my Raspberry Pi, with its 1 GB of RAM, would not be enough to run all the services and the browser for display properly. The project is therefore intended to run on an old computer.
The real requirements are therefore no longer imposed by hardware constraints but by personal ones:
- Use of proven tools and frameworks, the aim being also to train myself for more professional environments.
- Respecting the best practices of each framework as much as possible: The tool may therefore seem over-designed, but this is normal. It is also developed for learning purposes and therefore draws on more concepts than necessary in order to learn as much as possible.
- Easy to use: I intend to make installation and deployment as easy as possible. It must also be efficient and pleasant to use, as this project could be useful to me on a daily basis.
Emulatv
During my end-of-study internship, I found myself in an apartment large enough to hold a TV stand and a screen. However, it was annoying to always have to unplug my computer from the desk, plug it into the TV screen, connect the sound, the charger, etc. in order to watch my services from the living room, so I rarely did so.
At the same time, I wanted to learn web development seriously (I already had some knowledge of pure JavaScript/CSS/HTML and frontend frameworks). So I took a leap of faith and started training in web development with this goal in mind: to be able to leave a “TV box” next to the screen at all times and use my phone as a remote control.