Giter Site home page Giter Site logo

jacobbhartman / cadre Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 188 KB

Water polo API with an associated example application

Dockerfile 2.44% Ruby 71.41% JavaScript 7.39% CSS 1.39% HTML 15.58% Shell 0.73% SCSS 1.05%
water polo swimming sport sports league sports-league sports-league-management water-polo league-management

cadre's Introduction

cadre

  1. API platform for water polo, and sports in general
  2. An application that interacts with the API

Prerequisites

  • Mac Mojave 10.14.6
  • Docker for Mac 2.2.0.3
    • Docker Engine 19.03.5
    • docker-compose 1.25.4
  • Git 2.20.1

Software

These are the versions of the major software I used. These are not prerequisites for you to run the app.

  • Rails 6.0.3.4
  • Ruby 2.7.2
  • Node 12.19.0
  • sqlite3 3.27.2 (not currently static)
  • yarn 1.22.5 (not currently static)

Install

# copy and paste assuming you have the prerequisites
git clone https://github.com/JacobBHartman/cadre.git
cd cadre
docker-compose build
# docker-compose build --no-cache is slower but better if Dockers image cache interfere
docker-compose up
# go to localhost:8001 in your browser

In a separate terminal:

docker exec -it $(docker container ls | grep "cadre_ruby" | awk '{print $1}') /bin/bash

And then from within the container:

./dev/github.sh
# follow the prompt

Purpose

The purposes of this project are to...

  1. demonstrate my ability to acquire proficiency in technologies that I haven't worked with before
    • Ruby on Rails
    • A database other than MySQL, so I'll probably go with PostgreSQL and get to touch SQLite
    • Implement my own caching
    • If it makes sense, Vue
  2. demonstrate a complete aptitude for the DevOps toolkit including:
    • Jenkins, might switch to Gitlab or something else to learn something new
    • Docker to get it out the door, but will use LXC if I have time and have determined it makes sense
    • Terraform, though I wouldn't mind toying with Pulumi
    • Ansible, I used Saltstack but didn't like it. I previously used Ansible and liked it alot. It seems to be the most popular.
    • Kubernetes, do I need to look into Rancher?
    • Helm, do I need this, how does it help me? This project should help answer those questions.
    • Bash, use best practices for scripting
    • AWS, I risk pigeonholing myself in AWS further but if I want to get frisky I can switch to GCP
    • System design and justification
  3. build a project that I've been wanting to build for two years now

Topics to add to README

  • Configuration
  • Database creation
  • Database initialization
  • How to run the test suite
  • Services (job queues, cache servers, search engines, etc.)
  • Deployment instructions

Scope

I define project scope using Github Projects

  • MVP, MVP, MVP: Version 0 (local)
  • Make External: Version 1
    • The app should be externally available on a working domain name
    • Minimum AWS, Terraform, Docker files, Jenkins. Ansible if necessary
  • Mature: Version X
    • Complete API: pools, players, coaches, games, scores, etc.
    • Not water polo specific
    • Example applicaton that looks good and uses the API

Dev Diary

Located in /dev/diary

To-Do

Handled by Github's Issue Tracking

Contributers

JacobBHartman

cadre's People

Contributors

jacobbhartman avatar

Watchers

 avatar  avatar

cadre's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.