\sectionTitle{Projects}{\faLaptop} \begin{projects} \project {Orthoplex}{2018 --- present} {\website{https://webionite.com/}{webionite.com}} { Orthoplex is an Ubuntu server used to host \website{https://webionite.com}{webionite.com}, \website{https://cedaei.com}{cedaei.com} and all the services. \begin{itemize} \item Used \textbf{Git + Stow} for configuration management. \item Used \textbf{Systemd} for managing services. \item Used \textbf{Nginx} as frontend web server. \item Host \textbf{MariaDB} as database server for various services. \item Host \website{https://git.webionite.com}{\textbf{Gitea}}, \website{https://bin.webionite.com}{\textbf{Hastebin}}, \website{https://draw.webionite.com}{\textbf{Draw.io}} and \website{https://sky.webionite.com}{\textbf{Sky}.} \item Host various services \end{itemize} }{Git,Stow,Nginx,MariaDB,PHP-FPM,Reverse Proxy} \\ \project {Tana}{2019 --- present} {\website{https://www.youtube.com/watch?v=VfoN7X5-EDQ}{www.youtube.com/watch?v=VfoN7X5-EDQ}} { Tana is an inventory management solution for business management that is actively used in production. \begin{itemize} \item Used \textbf{Flask} and \textbf{Python} for Backend to create a \textbf{Rest API} which can be accessed by any client. \item Used \textbf{SQLite} as database because it is highly portable, extremely lightweight and low maintenance. \item Used \textbf{React} and \textbf{Javascript} to create a web application which conforms to \textbf{Material Design Guidelines} using \textbf{Material-UI Library}. \end{itemize} }{Python,Flask,Django,SQLite,Javascript,React,Material UI} \\ \project {Tours Mon Ami}{2017 --- 2018} {} { Website for booking for a Tours and Travels company. \begin{itemize} \item Used \textbf{PHP} for backend. \item Used \textbf{MySQL}/\textbf{MariaDB} for database. \item Frontend was created with \textbf{HTML}, \textbf{SASS}, \textbf{Bootstrap} and \textbf{Javascript}. \item Added \textbf{Stripe Integration} for payments. \end{itemize} }{PHP, MySQL, MariaDB, HTML, CSS, Bootstrap, Javascript, Stripe} \\ \project {Sonzai}{2020 --- present} {\website{https://gitlab.com/ceda\_ei/sonzai}{gitlab.com/ceda\_ei/sonzai}} { Sonzai is an \textbf{Android}/\textbf{iOS} app for attendance management. \begin{itemize} \item Used \textbf{React Native} and \textbf{Javascript} to create the app. \item Used \textbf{Redux} along with \textbf{Redux Persist} to store the state and the data. \item Used \textbf{React Native Paper} for \textbf{Material UI}. \end{itemize} }{React Native, React, Javascript, Redux, Redux Persist, Android Development} \\ \project {Questable}{2018 --- 2019} {\website{https://questable.webionite.com}{questable.webionite.com}} { Questable is an \textbf{RPG-like-bot} and \textbf{API Server} for maintaining events in real life. It is accessible via Telegram Bot as well as a command line client. \begin{itemize} \item Used \textbf{Flask} and \textbf{Python} to create a lightweight \textbf{Rest API}. \item Used \textbf{Python} and \textbf{Python-telegram-bot} library to create a bot client. \item Used \textbf{SQLite} as database because it is highly portable, extremely lightweight and low maintenance. \item Used \textbf{Requests} library to create a \textbf{Python wrapper} around the \textbf{Questable Server API} which was then used along with \textbf{argparse} to create \textbf{CLI} as well as a \textbf{REPL} for \textbf{Questable}. \end{itemize} }{Python, Flask, python-telegram-bot, SQLite, Requests, REST API, argparse} \\ \project {Wish}{2019 --- 2020} {\website{https://gitlab.com/ceda\_ei/wish}{gitlab.com/ceda\_ei/wish}} { Extensible Bash Prompt with support for plugins and themes. Allows for a right prompt, auto-shrinking prompt, customizing the prompt via a simple config file. \begin{itemize} \item The core is written in \textbf{Bash} while the \textbf{Configuration parsing} and \textbf{plugin wrapper generation} happens in \textbf{Python}. \end{itemize} }{Bash, Python, Prompt, Metaprogramming} \\ \project {Sky}{2018 --- 2019} {\website{https://sky.webionite.com}{sky.webionite.com}} { A simple terminal based weather monitor. \begin{itemize} \item Used \textbf{Python} and \textbf{Flask} to create a simple web server that can simply be curl-ed. \item Used \textbf{Mapbox} to find coordinates of a given location. \item Used \textbf{DarkSky} to get weather. \end{itemize} }{Python, Flask, APIs, Mapbox, DarkSky} \\ \project {Quadnite Bot}{2018 --- 2020} {\website{https://gitlab.com/ceda\_ei/Quadnite-Bot}{gitlab.com/ceda\_ei/Quadnite-Bot}} { A simple telegram bot that makes chats inn group more fun. \begin{itemize} \item Used \textbf{NodeJS} and \textbf{Telegraf} to create the bot. \item Used \textbf{axios} to access \textbf{MediaWikiAPI} for searching \textbf{Wikipedia} and \textbf{ArchWiki}. \end{itemize} }{Javascript, NodeJS, Telegraf, axios, MediaWiki} \\ \project {Minetest Telegram Bridge}{2020} {\website{https://git.webionite.com/ceda\_ei/minetest-telegram-bridge}{git.webionite.com/ceda\_ei/minetest-telegram-bridge}} { Bidirectional bridge between Telegram and Minetest. The bridge sends chats from a telegram group to a minetest server's chat and vice versa. \begin{itemize} \item Used \textbf{Lua} to write the \textbf{Minetest Plugin}. \item Used \textbf{Python}, \textbf{Flask} to create a simple web server to act as a relay. \item Used \textbf{Python}, \textbf{python-telegram-bot} library to create Telegram Bot. \end{itemize} }{Python, Flask, python-telegram-bot, Lua, Minetest API} \end{projects}