DEV Community

Emily
Emily

Posted on

Working on Telescope Project

Introduction

Telescope is an open-source project written by Seneca students to aggregate and present a timeline of Seneca's student blogs. Telescope is a fantastic project, and it has a solid impact on to open source community in Seneca. I got a chance to contribute to this project by implementing the route posts/feeds/invalid for the posts service.

Docker

Contributors to the Telescope project can use Docker to develop and run the application locally. They have provided great documentation to set up Docker containers for different operating systems. I always have problems with setting up the environment to work on any projects, but with Docker, this task is a little bit easier this time.
The first challenge I had is error response from Deamon when I first ran npm run service:start

Error response from daemon: Ports are not available: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Error starting services with docker-compose: undefined
Enter fullscreen mode Exit fullscreen mode

I asked a question on the Slack channel, and Prof.David quickly pointed out that my port 80 is being used by an IIS application. I checked, and there was an old application that was running to port 80 all the time. I have closed this application and resolved the problem.

Redis

Redis is an in-memory database, a data-structure server and a message broker that stores key-value data. That is a lot of words. But what is in-memory database? It means all data are stored in the main memory of the computer instead of the disk storage, making Redis operations exceptional faster than on-disk databases.
Telescope uses Redis database and ioredis to interact with Redis.

Pr

I have added a new route to the Post service and added functions to query the invalid Feeds data to the project. I have sent a draft PR, and I got some comments from Prof. David to improve it.

Telescope uses many advanced technology/concepts such as microservices architecture, Redis database, Elasticsearch, Docker, etc. There is so much to learn from it, and I am glad that I can take part in the project.

Discussion (0)