During the project we are moving to a Sunday - Saturday week schedule instead of the Wednesday - Tuesday week schedule we have been using during the curriculum. To facilitate that we call the time in between the last Tuesday of the previous module and the first Sunday of the project 'week 0'.
The project has two tracks to follow and it is your choice which one you want to do, either a Full Stack Developer or a Quality Assurance Engineer. At the start of the week the team composition will be shared so you know how the team is divided and what you are responsible for. If certain sections are only applicable to certain tracks then they will be marked with a (Dev)
for the Full Stack Developer track or a (QA)
for the Quality Assurance Engineer track. So you only do the part for the track that you are doing.
- Think of app ideas!
- Shared concepts
- (Dev) New technologies/concepts (If following the developer track)
- (QA) New technologies/concepts (If following the QA track)
- Quick refreshers
- Git branching
- Base repo
On the first Sunday meeting we will be deciding on the app to build. To give you the full development experience we are going to build something from scratch so you are there to see how an app goes from just a simple scaffold to a full application! What's even better is that you get to decide what that application will be! There should be a thread in the class channel where everyone can post their ideas, post your own and read through what others have decided. The project will be a prominent piece on your CV and you will be working on it for at least 7 weeks so make it something you like working on!
For the project we are going to use much of the knowledge you have gained over the curriculum, but as a professional in the tech industry we want to keep learning so we will be adding some more things as well.
We will be using a simplified version of the SDLC to make sure that we manage our application well. Have a look at the idea behind it! Also have a look at a quick guide to SCRUM which will be the way the team will be organised! Finally, when working in a team there needs to be a clear concensus of when a task is ready to be picked up and when it is ready to be marked as completed. To determine that, every team sets up a DoR (Definition of Ready) and a DoD (Definition of done). Read about that here.
If you are following the developer track, have a look at the Mongoose package (again) as we will be using it to work in mongoDB, but have some aspects of the relational way of building databases built in! Besides that we will be using a concept called Database seeding, which will be critical when working on a bigger application. Have a look at these concepts and do your own research to be prepared to use them.
If you are following the QA track, have an initial look at Cypress. This is the library that we will be using to write our e2e tests and you as a QA can use these to automate your test plan. Also have a look at the differences in testing between desktop and mobile apps to make sure you are ready for whatever app will be built!
We will have a base repo set up for you for your project. This is a private repository to which you will get an invite at the start of week 0. You can already have a look through the code and README to get an idea of how it is set up. In week 1 there will be a session planned where you can ask questions about it, so make sure you are prepared for that.