Tools of the trade
- Python (Flask/Django), OO PHP (Silex, Lumen, Silverstripe), Hack, NodeJS, Perl
- React Native
- MySQL / PostgreSQL
- Amazon Web Services (EC2, RDS, CodeDeploy, Lambda)
- Debian based Operating Systems
- Apache 2, Nginx Web Servers, Ansible, HHVM
- HTML5/CSS3 (Webpack/PostCSS) including cross browser compatibility and Responsive development.
- Agile Development
Graphene Django - Uploading files.
#!/usr/bin/env python3 ''' Since Django's request isn't avaliable to graphene's mutation def. It is passed in via context. ''' import graphene from .models import Users class UploadMutation(graphene.Mutation): class Input: id = graphene.String() profileImage = graphene.String() def mutate(self, input, context, info): id = input.get('id') user = Users.objects.get(pk=id) if context.FILES and context.method == 'POST': user.image = context.FILES['profileImage'] user.save() return UploadMutation(user=user)
Since I started learning ReactJS, I constantly became frustrated that all the examples were either ToDo apps or had all the code in one file.
N.E.R.F is an example of how to build a website running Express and React using a componentized application structure.
You can find the source on github.
An internal project. Designed to monitor and manage a AWS cloud infrastructure.
Built around the Silex framework and AWS SDK. Sputnik allows the system admin to schedule a variety of task from stopping and starting servers. Provision new servers, using ansible playbooks to deploy pre-designed configurations. User management, Incident management, Documentation repository etc
The Evolv API is built on Silex acting as a RESTful API and content analysis dashboard.
All requests made to a MySQL database via GET requests with JSON responses return as the data type.
OAuth2 has been setup on a content recommendation engine outside of the Evolv Dashboard and the dashboard is powered by AngularJS 1.3.