Project Devio - Let the journey begin

Project Devio - Let the journey begin

Welcome everyone to my website. This platform is my new project and in this first blog post, I will describe its mission, current status, and future development plans.

Since I have started programming I used a lot of different websites to host my profiles. GitHub.com for code sharing and collaboration. I switched to GitLab.com a few months ago after the GitHub acquisition by Microsoft. Facebook for socializing and posts sharing. Devpost.com for presenting my hackathon projects. LinkedIn for networking and sharing the resume.

All these websites have one disadvantage for me. Lack of control. You cannot change any functional or visual aspects of these platforms. Additional features can only be developed through provided official APIs, but even then you are limited and cannot fully integrate your ideas.

To solve this issue I decided to develop my platform. Now I am fully free to develop and extend it as I wish. The main purpose of this is to aggregate all the digital data about me in one place, which was distributed across several websites on the web.

Additionally, after domain acquisition, I was able to set up my email server on the same node I hosted the website and register giorgi@kabanashvili.com as my new primary email address. Feels way more professional after so many years of using gmail.com.

project_architecture.png

Until the project is under development working name will be Project Devio. At this stage it consists of three independent parts:

  1. Backend
  2. Frontend
  3. Manager

Backend

The backend is written with NodeJS and Express framework. For the database I chose MongoDB. For now, RESTful API contains simple CRUD routes to serve Frontend and Manager.

Frontend

The front-end part is what you see right now. I used NodeJS, Express, and Bootstrap. For the template engine, I chose EJS. Maybe later I will migrate to React, but for now, EJS is enough.

  1. Landing - Main page and the simplest one. It has my picture as a background, my name in the middle, and automatically typed strings showcasing my areas of expertise.
  2. Projects (In Progress) - shows all my projects. You can filter them by category. Later I will add a single page per project to fully describe it and provide quick links for source code.
  3. Blog - displays blog posts. Supports paging, categories, and full post names in URL for SEO. I will write about how to set up different stuff, descriptions of my projects, updates for Devio, or in general my thoughts. I plan to add comments and likes (or reactions).
  4. Resume - is a simple page displaying my CV, including about me, experience, education, skills, interests, awards, and a section allowing you to download my latest CV as a PDF file.
  5. Contact (In Progress) - I want to add a contact page to describe all ways how someone can reach me online.

Manager

The manager is written with NodeJS, Express, and EJS. It is an admin panel to manage all the data presented via Frontend. At the moment I also can monitor user views. Most of them at the moment are from bots or web crawlers, but I hope this tendency will change towards real users. Maybe later I will write more details about how views are working.

manager.png

Future Plans

The goal of this project is to become a self-sufficient application by having a powerful API, a nice front end, and a manager with rich functionality. I hope at some point in the future other people will get interested in this project and I will share a stable version with the community. I have many ideas and take my time to develop them. Right now it seems strange to me that you read until here and I thank you for your time. Keep coding and let the journey begin!

echo "Hello World!"