diff --git a/config.toml b/config.toml index 4947e7b..dd4e8a9 100644 --- a/config.toml +++ b/config.toml @@ -1,6 +1,6 @@ baseURL = "https://rogs.me/" languageCode = "en-us" -title = "rogs | Blog" +title = "rogs" theme = "archie" staticDir = ["static"] paginate=3 # articles per page @@ -46,12 +46,17 @@ name = "About" url = "/" weight = 1 +[[menu.main]] +name = "Projects" +url = "/projects" +weight = 2 + [[menu.main]] name = "Blog" url = "/posts" -weight = 2 +weight = 3 [[menu.main]] name = "Tags" url = "/tags" -weight = 3 +weight = 4 diff --git a/content/_index.md b/content/_index.md index fdb9433..7ddc509 100644 --- a/content/_index.md +++ b/content/_index.md @@ -19,8 +19,7 @@ I love Open Source projects. Knowledge should be available to everyone who wants it. You can check my resume in a more traditional format here: -[English](https://cloud.rogs.me/s/7Gyc9KmC7pxcmmG)| -[Spanish](https://cloud.rogs.me/s/4zHoy4Nd3SNgNKQ). +[English](https://cloud.rogs.me/s/7Gyc9KmC7pxcmmG) # Experience @@ -29,19 +28,21 @@ You can check my resume in a more traditional format here: In Lazer Technologies we are working for [Certn](https://certn.co/). Certn is an app that looks to ease the employers jobs of doing criminal background checks -for their employees. First, we built an app that acts as a bridge between our +for their employees. First, we built an app called [International Framework](/projects/certn-intl-framework/) that acts as a bridge between our main app and criminal background check providers (like the -[RCMP](https://www.rcmp-grc.gc.ca/)). Now we are working on a scraper for -multiple providers that don't have an API. In this project we are using Django, -Django REST Framework, Docker, PostgreSQL, Github Actions and Jenkins. +[RCMP](https://www.rcmp-grc.gc.ca/)). Now we are working on [ADA +DINER](/projects/certn-ada-diner/) a scraper for multiple providers that don't +have an API. In this project we are using Django, Django REST Framework, Docker, +PostgreSQL, Github Actions and Jenkins. ## [Tarmac](https://tarmac.io) > July 2020 -I'm currently working on Tarmac on a project called "Volition". In Volition we -are developing a crawler that extracts information from different pages in order -to build a "super market place" for a specific product. In this project we are -using Docker, TypeScript, NodeJS, PostgreSQL, Google Cloud, and Kubernetes. +I'm currently working on Tarmac on a project called +[Volition](/projects/volition/). In Volition we are developing a crawler that +extracts information from different pages in order to build a "super market +place" for a specific product. In this project we are using Docker, TypeScript, +NodeJS, PostgreSQL, Google Cloud, and Kubernetes. ## [Massive](https://massive.ag) Senior Backend Developer @@ -49,12 +50,13 @@ Senior Backend Developer > April 2019 - August 2020 I worked for Massive from April 2019 to August 2020. On my time in Massive, I -worked on one big project for Coca-Cola Mexico, called Tus Tapas Valen. "Tus -Tapas Valen" is an application that allowed clients to participate in promotions -and auctions, and win prizes. First I worked FrontEnd with ReactJS, Redux and -redux-observable, but now I'm working in the Backend. I had to plan a big -refactor while still working on new Backend functionalities. The Backend was -built using Python, Django, PostgreSQL, AWS, and AWS S3 +worked on one big project for Coca-Cola Mexico, called [Tus Tapas +Valen](/projects/tus-tapas-valen). "Tus Tapas Valen" is an application that +allowed clients to participate in promotions and auctions, and win prizes. First +I worked FrontEnd with ReactJS, Redux and redux-observable, but now I'm working +in the Backend. I had to plan a big refactor while still working on new Backend +functionalities. The Backend was built using Python, Django, PostgreSQL, AWS, +and AWS S3 ## [Vascar Solutions](https://vascarsolutions.com/) Backend Developer @@ -62,13 +64,14 @@ Backend Developer > December 2016 - June 2019 On my time in Vascar Solutions, I have been in many projects, most recently on -Knac and Axelerist. "Knac" is a job application startup, empathizing on +Knac and Axelerist. [Knac](/projects/knac) is a job application startup, empathizing on assessments to recommend candidates to a specific job. I worked on the backend -with NodeJS, Express, MongoDB, Mocha, CircleCI, Heroku and AWS. "Axelerist" is a -web app that connects to an external API and displays the client’s inventory in -a more friendly and ergonomic way. I worked on the backend, managing the API -connection, working on an API wrapper and user management. The app was made with -NodeJS, Express, MongoDB, Mocha, CircleCI, Heroku and AWS. +with NodeJS, Express, MongoDB, Mocha, CircleCI, Heroku and AWS. +[Axelerist](/projects/axelerist) is a web app that connects to an external API +and displays the client’s inventory in a more friendly and ergonomic way. I +worked on the backend, managing the API connection, working on an API wrapper +and user management. The app was made with NodeJS, Express, MongoDB, Mocha, +CircleCI, Heroku and AWS. # Education diff --git a/content/projects/axelerist.md b/content/projects/axelerist.md new file mode 100644 index 0000000..0c270d1 --- /dev/null +++ b/content/projects/axelerist.md @@ -0,0 +1,31 @@ ++++ +title = "Axelerist" +author = ["Roger Gonzalez"] +date = 2018-06-01 +lastmod = 2020-11-14T14:02:31-03:00 +draft = false +weight = 1005 ++++ + +## About the project {#about-the-project} + +Axelerist is a web app that connects to an external API and displays the +client’s inventory in a more friendly and ergonomic way. I worked on the +backend, managing the API connection, working on an API wrapper and user +management. + +![](/axelerist-01.jpg) +![](/axelerist-02.jpg) +![](/axelerist-03.jpg) + + +## What did I work on? {#what-did-i-work-on} + + +### Backend {#backend} + +- Team leader +- Database design +- Backend REST design +- Complete Backend development +- Regular meetings with the client diff --git a/content/projects/certn-ada-diner.md b/content/projects/certn-ada-diner.md new file mode 100644 index 0000000..0b275d6 --- /dev/null +++ b/content/projects/certn-ada-diner.md @@ -0,0 +1,35 @@ ++++ +title = "Certn - ADA DINER (Adverse Data Aggregator Data INgestER)" +author = ["Roger Gonzalez"] +date = 2020-10-01 +lastmod = 2020-11-14T14:02:31-03:00 +draft = false +weight = 1001 ++++ + +## About the project {#about-the-project} + +[Certn](https://certn.co) is an app that wants to ease the process of background checks for criminal +records, education, employment verification, credit reports, etc. On +ADA DINER we are working on an app that triggers crawls on demand, to check +criminal records for a certain person. + + +## Tech Stack {#tech-stack} + +- Python +- Django +- Django REST Framework +- Celery +- PostgreSQL +- Docker-docker/compose +- Swagger +- Github Actions +- Scrapy/Scrapyd + + +## What did I work on? {#what-did-i-work-on} + +- Dockerized the old app so the development could be more streamlined +- Refactor of old Django code to DRF +- This app is still in development, so I'm still adding new features diff --git a/content/projects/certn-intl-framework.md b/content/projects/certn-intl-framework.md new file mode 100644 index 0000000..db61c55 --- /dev/null +++ b/content/projects/certn-intl-framework.md @@ -0,0 +1,38 @@ ++++ +title = "Certn - International framework" +author = ["Roger Gonzalez"] +date = 2020-09-01 +lastmod = 2020-11-14T14:02:31-03:00 +draft = false +weight = 1002 ++++ + +## About the project {#about-the-project} + +[Certn](https://certn.co) is an app that wants to ease the process of background checks for criminal +records, education, employment verification, credit reports, etc. On +International Framework, we worked on an app that acts like a bridge between our +main app and criminal background check providers (like the [RCMP](https://rcmp-grc.gc.ca)). + + +## Tech Stack {#tech-stack} + +- Python +- Django +- Django REST Framework +- Celery +- PostgreSQL +- Docker/docker-compose +- Swagger +- Sentry.io +- Github Actions +- Jenkins + + +## What did I work on? {#what-did-i-work-on} + +- Database design. +- Models and endpoints design. +- Github Actions configurations. +- Jenkins configuration. +- Standardized the code with [Flake](https://flake8.pycqa.org/en/latest/), [pylint](https://www.pylint.org/) and [Black](https://black.readthedocs.io/en/stable/). diff --git a/content/projects/knac.md b/content/projects/knac.md new file mode 100644 index 0000000..8850e3e --- /dev/null +++ b/content/projects/knac.md @@ -0,0 +1,29 @@ ++++ +title = "Knac" +author = ["Roger Gonzalez"] +date = 2019-02-01 +lastmod = 2020-11-14T14:02:31-03:00 +draft = false +weight = 1006 ++++ + +## About the project {#about-the-project} + +Knac is a job application startup, empathizing on assessments to recommend +candidates to a specific job. + +![](/knac-01.jpg) +![](/knac-02.jpg) + + +## What did I work on? {#what-did-i-work-on} + + +### Backend {#backend} + +- Team leader +- Servers setup (Linux, NGINX) +- Database design +- Backend REST design +- Complete Backend development +- Regular meetings with the client diff --git a/content/projects/tus-tapas-valen.md b/content/projects/tus-tapas-valen.md new file mode 100644 index 0000000..9dce009 --- /dev/null +++ b/content/projects/tus-tapas-valen.md @@ -0,0 +1,43 @@ ++++ +title = "CocaCola - Tus Tapas Valen" +author = ["Roger Gonzalez"] +date = 2019-04-01 +lastmod = 2020-11-14T14:02:31-03:00 +draft = false +weight = 1004 ++++ + +## About the project {#about-the-project} + +"Tus Tapas Valen" is an application that will allow clients to participate in +promotions and auctions, and win prizes. We are expecting 5 million users for +January 2020. First I worked FrontEnd with ReactJS, Redux and redux-observable, +but now I'm working in the Backend. I had to plan a big refactor while still +working on new Backend functionalities. The Backend is built using Python, +Django, PostgreSQL, AWS, and AWS S3 + +![](/cocacola-01.jpg) +![](/cocacola-02.jpg) +![](/cocacola-03.jpg) +![](/cocacola-04.jpg) +![](/cocacola-05.jpg) +![](/cocacola-06.jpg) + + +## What did I work on? {#what-did-i-work-on} + + +### FrontEnd {#frontend} + +- Part of the development team using ReactJS + + +### Backend {#backend} + +- Refactoring planning +- New database design +- Complete backend development +- CI setup +- AWS EC2 servers setup +- Parsed and imported 476 million records in a RDS +- Various DB optimizations diff --git a/content/projects/volition.md b/content/projects/volition.md new file mode 100644 index 0000000..fce8e06 --- /dev/null +++ b/content/projects/volition.md @@ -0,0 +1,44 @@ ++++ +title = "Volition" +author = ["Roger Gonzalez"] +date = 2020-07-01 +lastmod = 2020-11-14T14:02:31-03:00 +draft = false +weight = 1003 ++++ + +## About the project {#about-the-project} + +Volition is an app that wants to be the top selling place for a certain kind of +product. In order to achieve that, we had to develop a series of crawlers for +different vendors, in order to get all the data so the storefront could be +created . + + +## Tech Stack {#tech-stack} + +- JavaScript +- TypeScript +- NodeJS +- PuppeteerJS +- Docker/docker-compose +- PostgreSQL +- Google Cloud +- Kubernetes +- Bash +- ELK (ElasticSearch, LogStash, Kibana) + + +## What did I work on? {#what-did-i-work-on} + +- Team lead +- Moved the entire project to docker and docker-compose. Before it, the + development environment has pretty tricky to setup. +- Improved the old code, introducing standards with esLint and smoke tests. +- Configured a VPN and an Ubuntu VNC session in docker to help with the proxy + and the non-headless browser. +- Created new crawlers for the new vendors. +- Configured the new Kibana dashboard. +- Created a gatekeeper to check the crawlers status before going out to the + internet. +- Monitored and ran many crawlers. diff --git a/deploy.sh b/deploy.sh index e8b2d63..b40f182 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -rm -rf ~/code/personal/blog.rogs.me/public/* +rm -rf ~/code/personal/rogs.me/public/* hugo ssh root@cloud.rogs.me "rm -rf /var/www/rogs.me/*" -scp -r ~/code/personal/blog.rogs.me/public/* root@cloud.rogs.me:/var/www/rogs.me +scp -r ~/code/personal/rogs.me/public/* root@cloud.rogs.me:/var/www/rogs.me ssh root@cloud.rogs.me "sudo service nginx restart" diff --git a/projects.org b/projects.org new file mode 100644 index 0000000..fb5d4f1 --- /dev/null +++ b/projects.org @@ -0,0 +1,173 @@ +#+hugo_base_dir: ./ +#+hugo_section: ./projects + +#+hugo_weight: auto +#+hugo_auto_set_lastmod: t + +#+author: Roger Gonzalez + +* Certn - ADA DINER (Adverse Data Aggregator Data INgestER) +:PROPERTIES: +:EXPORT_FILE_NAME: certn-ada-diner +:EXPORT_DATE: 2020-10-01 +:END: +** About the project +[[https://certn.co][Certn]] is an app that wants to ease the process of background checks for criminal +records, education, employment verification, credit reports, etc. On +ADA DINER we are working on an app that triggers crawls on demand, to check +criminal records for a certain person. +** Tech Stack +- Python +- Django +- Django REST Framework +- Celery +- PostgreSQL +- Docker-docker/compose +- Swagger +- Github Actions +- Scrapy/Scrapyd +** What did I work on? +- Dockerized the old app so the development could be more streamlined +- Refactor of old Django code to DRF +- This app is still in development, so I'm still adding new features +* Certn - International framework +:PROPERTIES: +:EXPORT_FILE_NAME: certn-intl-framework +:EXPORT_DATE: 2020-09-01 +:END: +** About the project +[[https://certn.co][Certn]] is an app that wants to ease the process of background checks for criminal +records, education, employment verification, credit reports, etc. On +International Framework, we worked on an app that acts like a bridge between our +main app and criminal background check providers (like the [[https://rcmp-grc.gc.ca][RCMP]]). +** Tech Stack +- Python +- Django +- Django REST Framework +- Celery +- PostgreSQL +- Docker/docker-compose +- Swagger +- Sentry.io +- Github Actions +- Jenkins +** What did I work on? +- Database design. +- Models and endpoints design. +- Github Actions configurations. +- Jenkins configuration. +- Standardized the code with [[https://flake8.pycqa.org/en/latest/][Flake]], [[https://www.pylint.org/][pylint]] and [[https://black.readthedocs.io/en/stable/][Black]]. + +* Volition +:PROPERTIES: +:EXPORT_FILE_NAME: volition +:EXPORT_DATE: 2020-07-01 +:END: +** About the project +Volition is an app that wants to be the top selling place for a certain kind of +product. In order to achieve that, we had to develop a series of crawlers for +different vendors, in order to get all the data so the storefront could be +created . +** Tech Stack +- JavaScript +- TypeScript +- NodeJS +- PuppeteerJS +- Docker/docker-compose +- PostgreSQL +- Google Cloud +- Kubernetes +- Bash +- ELK (ElasticSearch, LogStash, Kibana) +** What did I work on? +- Team lead +- Moved the entire project to docker and docker-compose. Before it, the + development environment has pretty tricky to setup. +- Improved the old code, introducing standards with esLint and smoke tests. +- Configured a VPN and an Ubuntu VNC session in docker to help with the proxy + and the non-headless browser. +- Created new crawlers for the new vendors. +- Configured the new Kibana dashboard. +- Created a gatekeeper to check the crawlers status before going out to the + internet. +- Monitored and ran many crawlers. +* CocaCola - Tus Tapas Valen +:PROPERTIES: +:EXPORT_FILE_NAME: tus-tapas-valen +:EXPORT_DATE: 2019-04-01 +:END: +** About the project +"Tus Tapas Valen" is an application that will allow clients to participate in +promotions and auctions, and win prizes. We are expecting 5 million users for +January 2020. First I worked FrontEnd with ReactJS, Redux and redux-observable, +but now I'm working in the Backend. I had to plan a big refactor while still +working on new Backend functionalities. The Backend is built using Python, +Django, PostgreSQL, AWS, and AWS S3 + +[[/cocacola-01.jpg]] +[[/cocacola-02.jpg]] +[[/cocacola-03.jpg]] +[[/cocacola-04.jpg]] +[[/cocacola-05.jpg]] +[[/cocacola-06.jpg]] + +** What did I work on? +*** FrontEnd +- Part of the development team using ReactJS +*** Backend +- Refactoring planning +- New database design +- Complete backend development +- CI setup +- AWS EC2 servers setup +- Parsed and imported 476 million records in a RDS +- Various DB optimizations +* Axelerist +:PROPERTIES: +:EXPORT_FILE_NAME: axelerist +:EXPORT_DATE: 2018-06-01 +:END: +** About the project +Axelerist is a web app that connects to an external API and displays the +client’s inventory in a more friendly and ergonomic way. I worked on the +backend, managing the API connection, working on an API wrapper and user +management. + +[[/axelerist-01.jpg]] +[[/axelerist-02.jpg]] +[[/axelerist-03.jpg]] + +** What did I work on? +*** Backend +- Team leader +- Database design +- Backend REST design +- Complete Backend development +- Regular meetings with the client + +* Knac +:PROPERTIES: +:EXPORT_FILE_NAME: knac +:EXPORT_DATE: 2019-02-01 +:END: +** About the project +Knac is a job application startup, empathizing on assessments to recommend +candidates to a specific job. + +[[/knac-01.jpg]] +[[/knac-02.jpg]] + +** What did I work on? +*** Backend +- Team leader +- Servers setup (Linux, NGINX) +- Database design +- Backend REST design +- Complete Backend development +- Regular meetings with the client +* COMMENT Local Variables +# Local Variables: +# eval: (org-hugo-auto-export-mode) +# End: + + diff --git a/static/axelerist-01.jpg b/static/axelerist-01.jpg new file mode 100644 index 0000000..5cd6f56 Binary files /dev/null and b/static/axelerist-01.jpg differ diff --git a/static/axelerist-02.jpg b/static/axelerist-02.jpg new file mode 100644 index 0000000..ca02916 Binary files /dev/null and b/static/axelerist-02.jpg differ diff --git a/static/axelerist-03.jpg b/static/axelerist-03.jpg new file mode 100644 index 0000000..e3d639e Binary files /dev/null and b/static/axelerist-03.jpg differ diff --git a/static/cocacola-01.jpg b/static/cocacola-01.jpg new file mode 100644 index 0000000..12a8acd Binary files /dev/null and b/static/cocacola-01.jpg differ diff --git a/static/cocacola-02.jpg b/static/cocacola-02.jpg new file mode 100644 index 0000000..5eb0168 Binary files /dev/null and b/static/cocacola-02.jpg differ diff --git a/static/cocacola-03.jpg b/static/cocacola-03.jpg new file mode 100644 index 0000000..6692dca Binary files /dev/null and b/static/cocacola-03.jpg differ diff --git a/static/cocacola-04.jpg b/static/cocacola-04.jpg new file mode 100644 index 0000000..9a82aca Binary files /dev/null and b/static/cocacola-04.jpg differ diff --git a/static/cocacola-05.jpg b/static/cocacola-05.jpg new file mode 100644 index 0000000..1674a75 Binary files /dev/null and b/static/cocacola-05.jpg differ diff --git a/static/cocacola-06.jpg b/static/cocacola-06.jpg new file mode 100644 index 0000000..fa61ba7 Binary files /dev/null and b/static/cocacola-06.jpg differ diff --git a/static/knac-01.jpg b/static/knac-01.jpg new file mode 100644 index 0000000..0a2f358 Binary files /dev/null and b/static/knac-01.jpg differ diff --git a/static/knac-02.jpg b/static/knac-02.jpg new file mode 100644 index 0000000..c00e4db Binary files /dev/null and b/static/knac-02.jpg differ