I just launched a Free and Open Source Platform: CV Keep, a SAAS to keep an Online Resumé

← ← ←   5/2/2022, 6:24:56 PM | Posted by: Felippe Regazio


Im very proud and excited to have launched one of the biggest Free and Open Source projects I've ever done.

CV Keep is a complete platform to keep an Online Resume, and in this post I will talk about some features and highlights of this project.

Here is the live platform: https://cvkeep.com

Presentation

The idea of ​​the project is that anyone can keep an online resume quickly, beautifully, easy to manage and without the hassles of having to dive into a social network (trap) just to do this. And the platform is already internationalized. My CV for ex: https://www.cvkeep.com/cv/felipperegazio

The project was completely done by me, end to end. At the time I wanted to study some technologies and create a SAAS from scratch.

Also worth to mention: This project is a FOSS - Free and Open Source Software. You can use for anything your want, download the sources, put your own service up (even for commercial use) - since you don't use the same brand, you do not owe me anything.

In the next lines i will talk about technical aspects of the platform. That said, here are some useful links:

Official documentation: Cv Keep Docs

GitHub with all sources + docs: https://github.com/Cv-Keep

Stack

The project was done using a MEVN Stack: Mongo, Express, Vue and Node. It uses Vue-CLI 3 for Front End and no framework for styling.

Actually, the styling framework for this project was handcrafted and gave birth to a CSS Microframework made by me, and a Dev post here on DEV about SCSS architecture:

CSS custom properties with SASS/SCSS: A practical architecture strategy: A practical architecture strategy for big CSS/SCSS projects

Plume CSS Microframework: Plume-CSS Page

Architecture

The front talks to an independent RESTFul API, and both the Front and the API are modularized.

Still on the front, the project is a SPA/PWA with a service worker that delivers the app in a SUPER functional and light way, easy to convert to a mobile app.

i18n

The project is already internationalized between pt-br and en. It is very simple to translate, there is a section in the documentation dedicated to explaining how to add new languages.

The internationalization is independent between the Back End and Front End. In the Front I used Vue-i18n. In the Back I built an i18n lib dedicated to the project, called Express-REST-i18n, so that the API already delivers the content in the language that the front asks for based on Language headers, avoiding saving Back End matter in the front.

Here is the Express Rest i18n Middleware: GitHub: express-rest-i18n

Host

This project was optimized to the maximum i could do, so the cost is ridiculous. Today I run my instance with this infra:

A 7 dollars Heroku App A Mongo Atlas (Free Tier) A CloudFlare Free Tier

Other than that, I pay the annual domain. That's all the cost I have, and it's ready to scale if i need.

Thats all

Thats all folks. Just to say that I was happy to finish the project, and I hope it can be useful to someone.