JULIANA MEI

Download Resume .bashrc

About Me

Hello, world!

I'm a project manager turned full-stack software developer and I have won three hackathons!

I recently won Best Game and Best Tech Stack at ETHNewYork 2019 where I put Robots on the Blockchain!

Robot Rumble: A Blockchain Game

Front End

HTML5
CSS3
Javascript
jQuery
Bootstrap
React

Back End

Python
NodeJS
PostGreSQL
MongoDB
Django
Express
Docker

Tools

Amazon Web Services
Ubuntu
Atom
Github
Heroku
Linux
Gitlab

Featured Projects

4C | Predictive Analytics for Overbooking Optimization

4C is a cloud-based application that leverages predictive analytics to get actionable insights for optimizing overbookings by hotel sales managers. It relies on historical occupancy data, current & future reservations, variable room costs and walk costs to forecast the optimal rate of overbooking.

Built with Django, Splunk, HTML/CSS, and Ajax

                
function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

function httpGet(theUrl) {
  var xmlHttp = new XMLHttpRequest();
  xmlHttp.open("GET", theUrl, false); // false for synchronous request
  xmlHttp.send(null);
  return xmlHttp.responseText;
}
                
              
Treffen | The Most Socialist Meet-Up App

A meet-up app that triangulates multiple zip codes to return several local businesses that are closest to the centerpoint.

Built with NodeJS, Express, and Yelp

                
  app.post('/zip', function(req, res, next){
    if (!req.body) return res.sendStatus(400)
    var inputs = req.body.zip
    var zipCodes = tools.cleanZip(inputs)
    let promises = tools.promisify(zipCodes);

    Promise.all(promises)
    .then(response =>{
      let coords = tools.get_coords(response)
      return coords
    })
    .then(coord =>{
      let center = tools.get_center(coord)
      return center
    })
    .then(center =>{
      let term = req.body.term
      tools.getYelp(center, term, 3)
    })
    .catch(next)

    var matrix = tools.get_matrix()
    console.log(matrix)

    res.render('index.hbs', {'matrix':matrix})
  });

  app.listen(port, function(){
    console.log('listening on port ' + port)
  });
                
              
Get My Pup | The De-Fragmented Animal Shelter Database

Built for shelters to centralizes lost animal information. Features leveled user privileges and easy-to-use data manipulation.

Built with Python, MongoDB, and Tornado Web Framework

                
  # Dog Functions
  def find_dog_by_id(_id):
      return dogs.find_one({"_id": _id})

  def find_dog_by_name(name):
      return dogs.find_one({"name": name})

  def find_all_dogs():
      return dogs.find({})

  def find_deleted_dogs():
      return dogs.find({'delete': {'$ne': False} })

  def find_all_public_dogs():
      return dogs.find({"delete":False})

  def find_many_dogs(data):
      return dogs.find({"$and": data})

      # older version
      # return dogs.find({ "$or": data})

  def add_new_dog(data):
      return dogs.insert_one(data)

  def update_dog_by_id(_id, data):
      return dogs.update_one({"_id":_id}, {'$set': data })

  def delete_dog_by_id(_id):
      return dogs.remove({"_id": _id})

  def delete_many_dogs_by_date_range(start, stop):
      requests = [UpdateMany({'date_found':{'$gte': start, '$lt': stop}}, {'$set':{'delete':datetime.today()}})]

      dogs.bulk_write(requests)

      dogs_list = dogs.find({'date_found':{'$gte': start, '$lt': stop}})

      return dogs_list

  def find_shelter_by_id(_id):
      return shelters.find_one({"_id": _id})

  def find_shelter_by_name(name):
      return shelters.find_one({"name": name})

  def find_all_shelters():
      return shelters.find({})

  def add_new_shelter(data):
      return shelters.insert_one(data)

  def update_shelter_by_id(_id, data):
      return shelters.update_one({"_id":_id}, {'$set': data })

  def delete_shelter_by_id(_id):
      return shelters.remove({"_id": _id})

                
              
Chung Tai Zen | Operational Buddhist Temple App

A top-down operational web application streamlining meditation class registrations, ceremonial duties, and volunteers.

Built with Python, Django, GraphQL, PostgreSQL, Unit Tests, and Mailgun.

                
  from graphene import relay, ObjectType, Schema
  from graphene_django import DjangoObjectType
  from graphene_django.filter import DjangoFilterConnectionField

  class VolunteerNode(DjangoObjectType):
      class Meta:
          model = Volunteer
          only_fields = ('sector_name', 'user')
          filter_fields = {
          'sector_name': ['exact', 'icontains', 'istartswith'],
          }
          interfaces = (relay.Node, )

  class Query(ObjectType):
      all_volunteers = DjangoFilterConnectionField(VolunteerNode)

  class PrivateGraphQLView(LoginRequiredMixin, GraphQLView):
      pass
  write_schema = Schema(query=Query, mutation=Mutation)
  read_schema = Schema(query=Query)
                
              

Github

Juliana Mei Github Commits Chart