Skip to content

Judimax/twilio_segment_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI

Summary

  • it is an interactive game that you use with your phone to text directions to the twillio number
  • there are 3 eggs once you get all the eggs you have one the game

Features include

Only members of the project can read the README.md from the ignore folder

Stack

Frontend

  • Angular v12.2.3
  • marker-animate-unobtrusive v 0.2.9
  • Google maps js sdk v3.0.0
  • socket.io-client: 4.2.0

Backend

  • python v3.9.6
  • flask 2.0.1
  • Flask-SocketIO==5.1.1
  • gunicorn==20.1.0
  • pyngrok==5.1.0
  • gevent 21.8.0

Testing

  • Docker, (tes in docker containers from linux VM) v20.10.7

Unit

Integration

E2E

Hosting

  • frontend: GH Pages
  • backend: Heroku

CMS

Logging

CI/CD

Communication

Structure

Linting Rules

  • ruby indentation 2 lines
  • ts indentation 4 lines
  • we prefix all our styles with "a_p_p_" a judima methodlogy so as not to confunse with 3rd party libs nested Loops
[].forEach(x,i)=>{
    x.forEach(y,j)=>{
        y.forEach(z,k)=>{
            z.forEach(w,h)=>{
                w.forEach(xx,ii)=>{
                    ...
                })                   
            })             
        })        
    })
})

Git commit messages

part 1 [UPDATE] - any bug free updates [PATCH] - any partial fixes that invovles tradeoffs [STITCH] - any partial fixes that has issues to address [FIX] - meaninfgul complete fixes

part 2 {frontend} {backend} {CI/CD} {testing} {logging}

  • where the fixes was applied

  • then the message

  • can use two or more in the same commit

Project Directory Mapping

Frotend

Configurations

Intro

  • teaches user how to play the game

HomePage

  • user interacts with the game

Backend

Configurations

  • refer to README.md in ignore

Testing

  • in AngularApp/testing/TESTS.md we have where we write pseudo code for our unit,e2e and integration tests later
  • AngularApp/testing/e2e/target-e2e-circleci.rb - is where all of our e2e tests live, we test on docker in a ubuntu 20.04 to closely represent the circleCI env and write the code
  • in the local testing env we use a gui browser, to oberserve to make sure the tests work properly, however in circleci we have the browsers run in headless mode.

CI/CD

  • IN .circleci is our config.yml, we make use of the company's Docker image as well as the circleci browser-build tools orb, as a general practice we packages our dependencies into the orb so we dont have to increased build times

Future Plans

refer to README.md in ignore

Site Navigation

Aspects

Challenges

  • make sure the external google lib is on the DOM

Mistakes/Failures

  • difficulty implementing flask socket io and gunicorn

Enjoyed

  • there is a community behind flask, I dont have to build the watchdog and sockietio logic myself, with a few patches we have a flask socketio server running

Leadership

Conflict

  • whether take take the sec vuln of eventlet or use gevent

Done Different

  • impletemnted socket io earlier

Issues

TODO

Template Updates

Team members refer to the Trello workspace

Notes

Terminal workspace

Session 1 (Frontend) $(npx ng serve) configure frontend Session 2 (Backend) $(python tornado_server.py) configure backend (like heroku push) Session 3 (Testing) configure testing env ssh session to vm to instianiate docker vm Session 4 (Github) git push Session 5 (Logging) ssh session to vm to instianiate docker vm

Resources

allow twilio to call you based on events use flask with classs deploy flask app to heroku flask app sockietio eventlet issue

Snippets

  • general snippets found in planning in the trello workspace

  • start flask app with eventlet

web: gunicorn --worker-class eventlet -w 1 flask_app_prod:app

Media

About

app made with angular flask twilio and segment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published