jasonmjohnson
Recent Tech Decisions
55 points

Following

  • ExpressJS

    jasonmjohnson YouSpace Salt Master


    ExpressJS will expose 4 endpoints that correspond to deployment commands to be run on the Salt Master.

  • Ubuntu

    jasonmjohnson YouSpace Salt Master


    Ubuntu is used as the base operating system for the Salt Master. SaltStack will be installed here by the YouSpace team.

  • Amazon EC2

    jasonmjohnson YouSpace Hub


    Docker containers will be hosted and run on a single Amazon EC2 instance. This will likely be the t2.small or t2.medium instance type as listed here: https://aws.amazon.com/ec2/instance-types/

  • Bitbucket

    jasonmjohnson YouSpace Hub


    The repository will be stored in BitBucket for git and also potentially for issue management.

  • Docker Compose

    jasonmjohnson YouSpace Hub


    Docker Compose will be used to create and manage the following containers: PostGreSQL, Prisma, Vue.js.

  • Prisma

    jasonmjohnson YouSpace Hub


    Prisma will act as the database client, translating the database schema from GraphQL into a typed and consistent database tables in PostGresQL

  • CircleCI

    jasonmjohnson YouSpace Hub


    CircleCI will be used for deployment and continuous integration using a scripted configuration that deploys to Amazon EC2.

  • PostgreSQL

    jasonmjohnson YouSpace Hub


    PostGreSQL was chosen for the data persistence layer for the front end because of it's capability for handling complex queries, it's portability, and scalability.

  • GraphQL

    jasonmjohnson YouSpace Hub


    GraphQL will be used as the public API for the data persistence layer. It communicates nicely with all other languages and can provide API responses in the format specified in the request.

  • Apollo

    jasonmjohnson YouSpace Hub


    Apollo will be used to make requests to the GraphQL server and manage data handling/caching of responses.

  • Webpack

    jasonmjohnson YouSpace Hub


    Webpack is used to build the front end. It will compile Vue.js source code into a static site.

  • Node.js

    jasonmjohnson YouSpace Salt Master


    Node.js will run the Express server that is used to execute deployment commands on the Salt Master.