Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INTERNSHIP-DohaElsawy #276

Open
dohaelsawy opened this issue Aug 29, 2024 · 45 comments · May be fixed by codescalersinternships/SecretNoteMVC-DohaElsawy#1
Open

INTERNSHIP-DohaElsawy #276

dohaelsawy opened this issue Aug 29, 2024 · 45 comments · May be fixed by codescalersinternships/SecretNoteMVC-DohaElsawy#1

Comments

@dohaelsawy
Copy link

dohaelsawy commented Aug 29, 2024

intro

This is a rough plan of the development internship program for 2024 -8 to 10 weeks program-. The intern need to be able to reason about the code, and be able to write tests (units and integration), then they should be able to contribute to the daily work with the team.

Week 0

In this week we spend some time to get familiar with the basics of linux, git, shell, and how to read the documentation

extra

Week 1

We get our feet with learning the fundamentals of Go, and start developing small utilities in Go.

Week 2

We introduce you to the testing, writing unit tests, configuring github workflows.

Week 3

In this week we develop a small http service and we cover how to test it and how to build a client to consume its api

Extra

Week 4

In this week we get familiar with docker and docker compose, what they do, and how to build a docker image, and how to reduce its size. Then we go through REST API, Swagger, and Postman. and we will build a small client that consumes the pokemon Restful API service.

Resources

Week 5

Here we introduce you to the concept of MVC.

Week 6

In this week we will redo the project as SPA, by providing two services: an API service and a frontend that consumes that API -next week-

Week 7

Resources

Testing session: https://docs.google.com/presentation/d/1ljUyCXWN-ZF3FyNDUOYXoyOrEagy_DoXWeL5wDMF47Y/edit?usp=sharing

Week 8 (onboarding to threefold)

Starting from that week the intern should be able to write testable code and can be introduced to our platform and projects. Best intro the platform by manually testing the capabilities and reporting issues on the normal of the enduser.

  • Intro to Codescalers and TFGrid Platform
  • How to write a bug report https://www.softwaretestinghelp.com/how-to-write-good-bug-report/
  • Manual Testing
  • Namespaces, CGroups, Docker
  • The Dashboard and deploying your first machine on the threefold grid)
  • Terraform and deploying your virtual machines machines on the threefold grid)
  • Rust fundamentals
  • Manually Testing the platform (intro to testlodge -qa tool we use to develop and track our tests-)

Week 9-end of internship week 10 distributed on teams (sdk-go, zos, sdk-ts, sdk-dart)

  • 4 solutions
  • GPU services integration *
  • ZOS service rewrites in rust
  • Freeflow twin
  • Threefold Connect *
  • Planetary Desktop/mobile App
  • Increase code coverage
  • Deployments web builder (drag/drop)
  • IaC
  • heroku like system on the grid maybe? gridify pushing forward

Extra tasks

Sessions

daily work

Software development process / testing

networking

linux

Raft/Distributed systems

binary serialization

Optional:

  • Kubernetes
  • Helm Charts
  • Blockchain (substrate, cosmos, solidity?)
@dohaelsawy
Copy link
Author

dohaelsawy commented Aug 29, 2024

Yesterday update 28/8/2024

Studied

  • Effective Shell :
    • transitioning-to-the-shell
    • Core Skills
  • Missing Semester :
    • Lecture 1: Course Overview + The Shell (2020)
  • Linux Intro/Essentials :
    • Shell commands

@dohaelsawy
Copy link
Author

Update 29/8/2024

Studied

  • Effective Shell :
    • Manipulating Text and Streams
    • Shell Scripting
      • Shell Script Essentials
  • The Flask Mega-Tutorial :
    • chapter 1 -> Hello World
    • chapter 2 -> Templates

@dohaelsawy
Copy link
Author

dohaelsawy commented Aug 31, 2024

Update 31/8/24

Studied :

  • The Flask Mega-Tutorial :
    • Chapter 3: Web Forms
    • Chapter 4: Database
  • Missing Semester :
    • Lecture 4: Data Wrangling (2020)
    • Lecture 3: Editors (vim) (2020)
  • Linux Intro/Essentials :
    • Useful commands
  • Refresh Python Basics -> classes + packages

@dohaelsawy
Copy link
Author

Update 1/9/2024

studied:

  • modified coreutils functions
  • Shell Scripting
    • Variables, Reading Input, and Mathematics
    • Mastering Conditional Logic
    • Loops and working with Files and Folders

@dohaelsawy
Copy link
Author

Update 2/9/2024:

Studied :

  • Software Design by Example
    • Introduction
    • Objects and Classes
  • Implemented 3 steps from DIY git
  • step 4 has error and going to be solved inshallah by @xmonader tomorrow
  • read this article What is Git Object Model to make me understand more about step 4 and git object models in general

@dohaelsawy
Copy link
Author

Update 3/9/2024:

  • went to the company and discuss several topics
  • studied this video ccna about cabling and networks type

@dohaelsawy
Copy link
Author

Update 4/9/2024:

code :

  • updated coreutils project structure and apply some notes
  • made a github action flow to build go and linter

after work hours :

@dohaelsawy
Copy link
Author

Update 8/9/24 :

  • learn about INI files in general and explore source code of INI go package
  • switch my environment from widows to linux successfully
  • implement a initial version of LoadFromFile & LoadFromString functions in INI project INI Parser - template  #21

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 12, 2024

Update 9/9/24:

  • review test with bible to refresh some concepts

project #21

  • implement the rest of functionality
  • basic test case for each function
  • update LoadFromString function logic

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 12, 2024

Update 10/9/24:

project #21

  • delete all previous test cases and start over with more detailed ones
  • fix bugs and more refactor
  • make build workflow without testing flow

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 12, 2024

Update 11/9/24:

project #21

  • make readme file for user document
  • make code documentation
  • more refactoring
  • make workflow for testing

study

  • watch visualization tutorial about raft
  • make more 5 steps at DIYgit

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 12, 2024

Update 12/9/24:

study

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 15, 2024

Update 15/9/24:

Project #284 :

  • implement server date time using gin and http
  • make makefile for linter, format and build binaries
  • test cases for each server

after work inshallah :

  • project
    • docker file for each server
    • docker compose
    • docs in code and readme file
  • study
    • Certified Kubernetes Application Developer (CKAD) till core concepts

@dohaelsawy
Copy link
Author

Update 16/9/24:

Project #284 :

  • docker file for each server
  • docker compose
  • docs in code and readme file
  • study
    • Certified Kubernetes Application Developer (CKAD) till core concepts
  • know how zos works -hope to know more internals-

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 17, 2024

Update 17/9/24:

Project #286 :

  • implement client functionality
  • test client functions

study

  • Certified Kubernetes Application Developer (CKAD) laps in core concept section

after work inshallah :

  • Certified Kubernetes Application Developer (CKAD) till secrets in configuration part
  • finish datatime client project functions
  • test rest of functionality
  • implement Retry Mechanism

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 18, 2024

Update 18/9/24:

Project #286 :

  • implement retry mechanism using backoff
  • refactor code
  • implement logging system
  • make read me file

after work inshallah :

  • apply coding comments on ini parser
  • make code document in datatime client project

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 19, 2024

Update 19/9/24:

  • apply coding review comments on ini parser
  • refactor http Client project and applied what i learnt from ini review
  • refactor server project and applied what i learnt from ini review

after work inshallah :

  • Certified Kubernetes Application Developer (CKAD) till secrets in configuration part
  • weekly 5 steps from DIY git

@dohaelsawy
Copy link
Author

Update 21/9/24:

  • Certified Kubernetes Application Developer (CKAD) finish configuration part
  • weekly 5 steps from DIY git

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 22, 2024

Update 22/9/24:

  • done client function and tests
  • initial version from resource api

after work inshallah :

  • finish resource api
  • make tests for resource api
  • study kubernetes multiple containers sections
  • refresh technology part 1 in kloudkode aws course

@dohaelsawy
Copy link
Author

Update 23/9/24:

project #294

  • finish resource api
  • make tests for resource api
  • make pokemon api and its test

after work inshallah :

  • chapter 3 from system design

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 25, 2024

Update 24/9/24:

  • chapter 4 , 5 from system design
  • sessions at office

@dohaelsawy
Copy link
Author

Update 25/9/24:

project #299

  • start the project and some initial structure

session

  • prepare concurrency session content
  • meeting with esalm to discuss the session content

@dohaelsawy
Copy link
Author

dohaelsawy commented Sep 26, 2024

Update 26/9/24:

project #299

  • implement cpu functions with its test
  • refactor the code to be more abstracted
  • implement mocking for loading file

session

  • prepare concurrency session examples and exercises

study

@dohaelsawy
Copy link
Author

update 29/9/24

project #299

  • implement proc functions with test in DI
  • refactor cpu code to be following DI
  • refactor memory code to be following DI

else

  • git 2 steps from previous week :"}
  • refactor client code server

@dohaelsawy
Copy link
Author

update 30/9/24:

  • refactor client server based on code review
  • finish 5 ugit steps for previous week
  • watched deploying tutorial for k8s
  • pass aws exam yahhooo alhamdulallah :}

@dohaelsawy
Copy link
Author

update 1/10/24:

  • deploy datetime each server on Kubernetes
  • apply namespaces and services
  • apply ingress but still waiting for DNS server to be approved from cloudflare

@dohaelsawy
Copy link
Author

update 2/10/24:

  • apply ingress controller and solve some issues but will try different approach
  • apply helm and templates and values still working on it
  • watch helm tutorials for better visualization

@dohaelsawy
Copy link
Author

update 3/10/24

  • read template chapter in system design
  • read first chapter in orchestrater in golang
  • done 5 DIY git steps for this week
  • done 50% of session presentation

@dohaelsawy
Copy link
Author

dohaelsawy commented Oct 6, 2024

update 6/10/24:

  • read chapter 2 from orchestrate in golang
  • done 5 DIY git steps for this week
  • %80 of session presentation :"

late update

  • finished session presentation xD

@dohaelsawy
Copy link
Author

update 7/10/24:

project #303

  • add initial implementation for create note
  • reviewed django documentation
  • learn how to test in django

session:

  • apply eslam's comments on session presentation

@dohaelsawy
Copy link
Author

dohaelsawy commented Oct 8, 2024

update 8/10/24:

project #303

  • finish create and retrieve note functions
  • implement tests for both functions
  • read test official tutorial in django documentation
  • read mdn test tutoria
  • try to make request limit but didn't work :}

@dohaelsawy
Copy link
Author

update 9/10/24:

project #303

  • add rate limit implementation
  • finish tests
  • convert code from httpresponse to render to implement templates

@dohaelsawy
Copy link
Author

update 10/10/24:

project #303

  • finish templates design and linking
  • implement auth system
  • learning Selenium from this course

@dohaelsawy
Copy link
Author

update 13/10/24:

project #303

  • solved firfox webdriver issue, alhamdullah take my foraver
  • make 3 of flows for selenium tests

others

  • made my concurrency session, yaahhh XD

@dohaelsawy
Copy link
Author

dohaelsawy commented Oct 14, 2024

update 14/10/24:

project #303

  • complete selenium flow
  • make docker and docker-compose
  • solved issue in linking between my app and container

others

  • done 5 DIY git steps for this week

super late update:

#303

  • solved memcached problem for ratelimit property
  • solved volume issue, was not listening

@dohaelsawy dohaelsawy pinned this issue Oct 15, 2024
@dohaelsawy dohaelsawy unpinned this issue Oct 15, 2024
@dohaelsawy
Copy link
Author

update 15/10/24:

#303

  • fixed clear cache test issue
  • make read me file

others

@dohaelsawy
Copy link
Author

dohaelsawy commented Oct 16, 2024

update 16/10/14:

  • study several of tutorial/articles about concurrency patterns and prepare the content
  • put all things together in presentation, isa will send a copy for eslam's review :}

@dohaelsawy
Copy link
Author

update 17/10/24:

  • study standard layout for go web app
  • study view crash course
  • git 5 steps

@dohaelsawy
Copy link
Author

dohaelsawy commented Oct 26, 2024

update 20/10/24:

#310

  • connect to db -didn't work-
  • create docker-compose and docker file
  • create user model and basic functions

@dohaelsawy
Copy link
Author

dohaelsawy commented Oct 26, 2024

update 21/10/24:

#310

  • connect to db -worked yyyaaaahhh-
  • add setup for hot reload inside container
  • initial jwt implementation for login, registration

@dohaelsawy
Copy link
Author

update 22/10/24:

#310

  • middleware
  • link queries for db
  • token handling via header and then change it to cookies

@dohaelsawy
Copy link
Author

update 23/10/24:

#310

  • fixed errors, validation, a lot of refactoring :}
  • inject db
  • account crud

@dohaelsawy
Copy link
Author

update 24/10/24:

#310

  • test for db queries, controllers, middleware, anything

@dohaelsawy
Copy link
Author

update 25/10/24:

#310

  • analytics apis and its test
  • modified any errors and upload photos for user and its test

@dohaelsawy
Copy link
Author

update 26/10/24:

#310

  • swagger docs
  • vue login, tutorials

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant