This is a full stack project to show what we can do!. The idea is to mimic the full work experience of a developer, so when we get a job as a dev we can be ready for anything, from creating tickets and grooming to working on an end to end ticket!.
If you fork this project it can served you as a guideline to arm your self with the basics(and a little more) to become a developer. The following text will explain the plan of action and some basic guidelines.
This file will be the only guide and a helpful tool for newcomers, all the other .md files will be topic specific and for knowledge transference purposes. The idea is to keep a good documentation (to learn how to make a documentation) for the benefit of other project members and future developers that will join the team.
From now on some words and phrases will be shorten to the following:
Front End - FE
Back End - BE
JavaScript - Js
Data Base - DB
Application - App
- Road Map
- Main branches
- Tools, Technologies & More
- Stages of the project
- Files and folders structure
- Work flow
- Branching Rules
Here is the roadmap, as you can see there are learning stages and implementation stages. The idea is to follow this roadmap, learn what you have to learn and then implement it, once the basics are mastered we can jump to the next learning stage and so on.
Next the different stages of the project will be listed and explain, feel free to return to X date commit or checkout to an specific branch to see the project development process.
Due to learning purposes first the FE will be developed with vanilla JS (plus html and css) to get a better grasp on the previously mention topics.
Using "VanillaJS" means using plain JavaScript without any additional libraries like jQuery. So for the first few months you will develop using the very core of Js, no extras, no sweeteners.
Here we will begin working on the BE, like the FE at the start we will do the basics, take a request and return a response.
Now that we have a basic BE we can hook it up to a DB, a free tier mongo DB for this project will be more than enough.
At this point we have a better understanding on the basics of HTML, CSS and JS and we will migrate to ReactJs to do the same learning process. Here we will implement the basics of ReactJs.
Now at we have all the basics we can work on all the tiers. At this point most tickets will involved a full stack work. IF possible we will try to implement most of Reacts features even if they sound overkill for a project of this scale. (Remember we aim to learn). The same goes for the BE, we will try to show off what we can do!.
Since testing is not the main focus but a nice to have we will start implementing testing at the end and the coverage won't be a main concern, we will try to reach 100% of the code with unit tests but we make no promises.