Como esta construido el RPCIDE


Introduccion

El RPCIDE es un IDE (Integrated Development Environment). Este está construido en diferentes tecnologías, como React, NodeJS, Firebase, MongoDB y muchas más.

Imagen que muestra la arquitectura del RPCIDE

Frontend

El frontend está construido en React con Typescript, utilizando la librería ChakraUI la cual nos permite crear componentes de manera rápida y sencilla. Para el editor de código se utiliza la librería Monaco Editor. El frontend está alojado en Vercel.

Backend

En el backend se utiliza NodeJS con Typescript, utilizando Express como framework para el servidor. El backend está alojado en Vercel.

Para el manejo de la base de datos se utiliza Firestore, la cual es una base de datos NoSQL que nos ofrece Firebase. Este nos ofrece un limite gratuito que es más que suficiente para el uso que se le da en el RPCIDE.

Para la ejecución de los archivos se utiliza la Codex API, la cual es una API que nos permite ejecutar código de diferentes lenguajes de programación utilizando Docker y NodeJS. Tenemos un fork de la API en Fork Codex API y está desplegado en fly.io. Este fork se mejorará con el tiempo para que se adapte de mejor manera a las necesidades del RPCIDE.

Se utiliza Pino como logger para el backend y logtail para visualizar los logs.