Ariel B.

Full Stack Developer

1035 dollar
Freelancer
15 ans
Paris, FRANCE

Mon expérience

Voir plus

ZplinuxJanuary 2008 - Présent

- Open source fullstack boilerplate (WIP) based on Node/React (+ExpressJs/Loopback/NextJs/Redux/SemanticUI) - available at https://github.com/ariel-zplinux/zp-boilerplate
- Media player (personal cloud) based on Meteor. (2014-now)
- Operating System based on Linux Ubuntu. (2008-now)

- Projects in freelance

Voir plus

YEM - You're Energy Manager, FreelanceNovember 2019 - April 2020

YEM is a European digital marketplace for BtoB energy supply, YEM offers powerful tools and tips to lower the gas and power bills of your business across Europe.

Keywords: NodeJs, ExpressJs, MongoDB, Mongoose, React, Redux, Redux Saga, Ant Design, Docker, Git, Jest, Jira, Aws S3/Glacier/Sns, Heroku

Task: Creation of new version of YEM product with as main new feature, predictive suggestions of optimizations based on market trends and chosen strategy (LR, MR, HR).

Frontend (from scratch):
- Stack: React (CRA), React router, React Intl, Redux, Redux Saga, Ant design
- HTML/CSS integration of 15 pages mock-up with Ant Design (desktop version)
- Delivered from AWS (S3 and Cloudfront)
- Set up multilingual content (italian/english) with React Intl

Backend
- Stack: Node (v10), Express, Jest, MongoDB (hosted in Atlas), Mongoose, AWS (S3, SNS), Better queue, node-cron, Winston, Postman, Robo3t
- Set up backend hosting with Heroku
- Set up MongoDB transaction (with replica set) and update base code
- Set up MongoDB databses automatic backup with Cron, Docker and AWS S3 Glacier
- Handle cloud storage with Aws S3 (library and update base code)
- Handle SMS notifications with Aws SNS
- Set up tasks (with node-cron)
- Handle access concurrency with queues (using Better queue) on RUN (predictions) and Notifications management
- Set up basic caching (in Node, with cache invalidation)
- APIs REST routes and models for backend services related to new features
- Unit and end to end tests with Jest
Voir plus

Foncia Stark, FreelanceMay 2019 - August 2019

Real estate company.

Building their future ERP.

- Backend: NodeJs (Express)
- Frontend: React
- Database: MongoDb (Mongoose)

- Backend/Frontend tasks around ACK response from Docapost and CAF AL monthly report
- addition of End to end tests (using Mocha/Sinon/Chai)
- integration of Sftp server container to CI (using GitlabCI / Docker / Docker compose)
Voir plus

Mindo, Freelance - 2 days missionMay 2019 - May 2019

Mindo is a SaaS platform that allows you to take any kind of notes freely or as part of an easy-to-build process, backed up by an after-seizure service that provides any data processing on demand from the user.

Keywords: NodeJs, Pm2, ExpressJs, Loopback, Mysql, Git

Tasks:
- Optimisation (> X 100) of route/requests called in landing page of a mobile application.
- NodeJs clustering with Pm2
- Loopback models refactoring
Voir plus

INEO Digital, FreelanceMay 2018 - December 2018

SMARTFLAT is a “System to help to accurately measure the dynamism and well-being of elderly people”, it's developed by INEO Digital (ENGIE).

Keywords: NodeJs, ExpressJs, Loopback, Keycloak, Angular, Docker, Docker-compose, Debian, Jenkins, Python, JWT, API REST, API SOAP, Javascript ES8, Typescript, Postgresql, Pgadmin, Git, Gitlab, Jira, Postman, Curl, Nginx, Scheduler, Node-cron, Micro Service Architecture (MSA)

Technical stack:

Micro Services Architecture (MSA),
* Backend based on Loopback (from IBM) on top of NodeJs/ExpressJs (Javascript), Loopback adds a data access layer (DAL) abstraction in front of data sources.
* Frontend based on Angular (Typescript).
* Analysis scripts developed in Python.
* Database based on Postgresql.
* Reverse proxy based on Nginx.
* Authentication managed by Keycloak (from Redhat/IBM).

All tools here are open source products.

Tasks:

* Allow several walk/static/acquisition tests and analysis to be launched in parallel.
* Allow multi-establishment management (use of Json Web Token (JWT) in output of Keycloak, use of hooks in Loopback models to filter)

* Design and development of new acquisition project.
** Securely handle certificates and credentials
** Integrate new industry-ready box/sensors system (Zwave/Eocean sensors)
** Actual data acquisition externalized to SaaS solution and securely retrieved by API call (in SOAP)
** Designed in micro-service architecture with separation between acquisition and analysis services (= containers)
** API/models design and implementation with Loopback/Postgresql (API REST)
** Scheduler based on Node-cron with dedicated Task model.

* Pair programming with Frontend developer for custom API call, optimization/refactoring of Frontend critical part.
Voir plus

LinagoraMay 2017 - December 2017

Linagora is an Open Source Software Company

Role: Fullstack Developer (MEAN stack)

Keywords: Open source, NodeJs, Express, Javascript ES6, AngularJs, MongoDB, ElasticSearch, Socket.io, RabbitMQ, Gitlab, Git, Karma, Mocha, Sinon, Chai, Mockery, Docker, Docker-compose, Angular Material, Scrum, Agile

- Contributor on OpenPaaS project (http://open-paas.org/ - https://github.com/linagora/openpaas-esn)
- International and collaborative project with teams spread out across France, Vietnam and Tunisia
- Scrum methodology (Sprint planning, Sprint demo, Sprint review, Daily meeting)
- CI / CD based on Gitlab-CI
- Code base managed by Git, and merged by Pull Request
- TDD based on Karma, Mocha, Sinon, Chai et Mockery
- Use of ElasticSearch as search engine
- Migration of Angular Strap component to Angular Material (Material Design)
- Development on modules esn (core), calendar, inbox and resource
- Member of team Calendar, module using Sabre as calendar backend, RabbitMq (to connect our backend to Sabre) and FullCalendar.js as calendar frontend

My code can be seen here https://ci.linagora.com/users/abiton/ or in their github (from mail abiton@linagora.com)
Voir plus

Blonk, FreelanceMay 2016 - July 2016

Blonk is a recruitment application

- Integration of new features (signup strategy, richer profile, new matching module) to an existing Meteor application.
- Work on mobile part (Cordova)
Voir plus

CreopolisJanuary 2012 - January 2014

Development in Ruby on Rails (2.3) of an e-ticket selling platform for concerts (Showberry - http://showberry.com/)
Use of Scrum (Agile methodology).
Import of Ticketnet events with time constraint (daily).
Integration to Showberry of Paybox payment solution (http://www1.paybox.com) and Ticketnet remote ordering through their API.

Maagar MedaJanuary 2011 - November 2012

Voir plus

IBM Global ServicesJanuary 2008 - January 2008

Mission at Türkiye İş Bankası through Corvir and IBM Turkey
Voir plus

CorvirJanuary 2008 - January 2008

Development and Integration around IBM Tivoli product (ITIM, TAM...)

WebcollageJanuary 2006 - January 2007

Mes compétences

Languages

Python, Shell Scripting, XML, XSLT, Java, HTML, JavaScript, Ruby, TypeScript, Ruby on Rails, CSS, HTML5, OOP

Frameworks

Node.js, REST, Redux, jQuery, Meteor, Express.js

Software testing

Karma, Chai, Sinon.js, Mocha

Open Source solutions

pgAdmin

IT Infrastructure

Linux, Ubuntu, Amazon Glacier, Security, Cloud Computing, Nginx, Heroku, Git, Amazon Web Services S3, Docker Compose, Amazon Simple Notification Service (SNS), Docker

Databases

MongoDB

Analysis methods and tools

Design Patterns, Agile Methodology, Agile, Scrum, JIRA

Environment of Development

GitLab

Middleware

Jenkins

Others

Software Design, GitLab CI, cURL

Protocols

JSON, SOAP, TCP/IP

Technologies

RabbitMQ, Web Services, Angular Material, React.js, Socket.IO, Redux Saga, LoopBack, JWT

Mes études et formations

Certifications - University of London & Goldsmiths

The Complete React Native and Redux Course - Udemy2018 - 2019

React 16 - The Complete Guide (incl. React Router 4 & Redux) - Udemy2017 - 2018

Master of Science (MSc) - Computer Science - Université Pierre et Marie Curie (Paris VI)2002 - 2004

Bachelor of Science (BSc) - Computer Science - Université Denis Diderot (Paris VII)2001 - 2002

DUT GEII - Electrical and Electronics Engineering - Université Paris Nord- Paris 131999 - 2001