Skip to content

Commit

Permalink
chore: finished alfa
Browse files Browse the repository at this point in the history
  • Loading branch information
esteban committed Jun 21, 2021
1 parent 1850e06 commit 9878bee
Showing 1 changed file with 14 additions and 36 deletions.
50 changes: 14 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,34 @@
# Welcome

thanks for checking out this repository. I intend to make it easy for you to explore it and also see the though process. While also get you excited in the right parts, and well, forwarding my hiring process.
Thanks for checking out this repository. I intend to make it easy for you to explore it and also see the thought process. While also get you excited in the right bits, and well, forwarding my hiring process.

## Focusing in productivity in a dockerized environment 🐳
## Focusing on productivity in a dockerized environment 🐳

> What a pleasure! you just run `docker-compose up` and you can code away!
> - The only developer that has used this repo
> What a pleasure! you just run `docker compose up` and you can code away!
> - _The only developer that has used this repo_
You are as fast as your local development environment: That has a `multi-stage, multi-build` `Dockerfile`, and a `docker-compose up` that uses `Nginx`as a reverse proxy to avoid any `CORS` issues, as well as avoid rebuilding images with each code change (using `volume mount`) whist still have **HOT-RELOADING** for both *front* and *back* 🤯🤯🤯🤯🤯.
You are as fast as your local development environment => we offer a `multi-stage, multi build `Dockerfile`, and a `docker-compose up` that uses `Nginx`as a reverse proxy to avoid any `CORS` issues, as well as avoid rebuilding images with each code change (using `volume mount`) whist still have **HOT-RELOADING** for both *front* and *back* 🤯🤯🤯🤯🤯.

Don't like `docker`? no worries, we have `.nvmrc` so you can do local development as well .....

## We are now BETA 😅
Get as well prettier, eslinter and commitlinter and don't forget **CHECKOUT** the postman collections, there you will find all the collections to test the API, use them for an end to end testing

There are still many things to improve, checkout [Projects](https://github.com/EstebanMarin/express-react-app/projects), or [OPEN_ISSUES](https://github.com/EstebanMarin/express-react-app/issues), to get a full picture of the project
## We are now ALFA 😅

There are still many things to improve, check out [Projects](https://github.com/EstebanMarin/express-react-app/projects), or [OPEN_ISSUES](https://github.com/EstebanMarin/express-react-app/issues), to get a full picture of the project

![Working Prototype](https://github.com/EstebanMarin/express-react-app/blob/mvp-alfa/EMM_app_GIF.gif)

# Thought process (why?)

Although, the technical challenge is straight forward in what it wants. I want to play the role to which I am applying and assuming this as a **OPEN PROJECT REVIEW** as it is called in _twilio_ and deliver an "actual" **product**, this will make me assume **stuff**, but I hepe these assumtions will trigger the conversation.

## Stabilizing the Local environment, focusing on my developer experience and a scalability from the beginning

I am as effective as my tools and having a local stable environment to debug is highly productive.
Therefore, I created this repository, that focused on developer experience, `npm scripts`to help the ramp up, start `Local dev` and also, (hopefully) build containers so serve k8s clusters using `Github` actions.

## Having prettier, eslinter and commitlinter

Thinking in the long run, all repos must have at least this to avoid format erros

## **CHECKOUT** the postman collections
Although, the technical challenge is straight on the results expected.
I am assuming this as an **OPEN PROJECT REVIEW** as it is called in _twilio_ and deliver an "actual" **product**, this will make me assume **stuff**, but I hope these assumptions will trigger the conversation.

In the `./postman` folder you will find all the collections to test the API, use them for end to end testing

## What happend with Typescript?
## Why not not Typescript. . . . **HERE** in this repo?

**TL;DR**: I dropped `typescript` support altoghether => but I have very good reasons why
I originally intended to have both parts as `typescript` code bases but as the _front-end_ code is done with `react-scripts` setting that up to work just in `JS` and `typescript` backend part, had me figting `commonjs` and `ESM`, and doing a balacing act with my `tsconfig.json`, `package.json`, `npm scripts`. More down below or check `master` branch commit `DEAD-END`
**TL;DR**: I dropped `typescript` support altogether => but I have very good reasons why
I originally intended to have both parts as `typescript` code bases but as the _front-end_ code is done with `react-scripts` setting that up to work just in `JS` and `typescript` backend part, had me fighting `commonjs` and `ESM`, and doing a balancing act with my `tsconfig.json`, `package.json`, `npm scripts`. More down below or check `master` branch commit `DEAD-END`

### My crazy run trying to upgrade the repo to `typescript` had me:

Expand All @@ -60,16 +51,3 @@ I originally intended to have both parts as `typescript` code bases but as the _
- Using `tsc` just for `development` and triggering `nodemon` with a `typescript` compile
- Running: `mkdir dist && sudo chmod 777 dist` in the (`./`) directory, to allow `node`to run from `npm`, this to solve `unauthorized` issues.

# What are we building? (What)

As mentioned before this is a two part system.

## Front-end

## Backed-end

## Containers, CI/CD and more
```
$ kill -9 $(lsof -t -i:8080)
➜ listen-up-full-stack-exercise-javascript git:(take-2) DOCKER_BUILDKIT=1 docker build --target frontend -t twilio:front .
```

0 comments on commit 9878bee

Please sign in to comment.