About me

I have strong interests in engineering and a long-term ambition to become a robotic engineer.

I am particulary intrested in engineering and maufacturing environments, where I can contribute , learn frrom experinced professionals and continue to develop my technical abilities

What I am learning

  • Command line, Git and GitHub workflow
  • How the web works: DNS, HTTP, browsers and deployment
  • Semantic HTML, CSS and accessibility basics
  • APIs, JSON and safe use of online tools

    Command line:

  • I learnt to to use the windows command prompt to create files and folders on my PC and also learnt how to write codes inside these files
  • Some of the codes i have leanrt using the command line are :
  • CD:This is used to change the directory eg; cd desktop
  • Mkdir:This is used to create a new folder eg; mkdir Mywebsite
  • Touch: does not
  • Echo: this code is used to write text inside a file eg; echo This is my website >Mywebsite
  • copy: this is used to copy files and folders in the commnd line with out opening the folders and files eg; copy index.html Mywebsite
  • Type: This i sused to view the content of a file eg; type index.html
  • start .: This code is used to view the files and folders in the file explorere app eg; start . Mywebsite
  • start: This is used to run the code in a file eg; start index.html
  • Type nul>: Thiis is used to create a new file eg; type nul> hello.txt

GIT and GITHUB

Creating a GitHub account

  • Go to GitHub.
  • Click Sign up.
  • Enter your email address.
  • Create a password and choose a username.
  • Complete the verification/CAPTCHA if asked.
  • Check your email and verify your email address.
  • Choose the Free plan when asked.
  • Your GitHub account is now ready
    • GitHub workflow

    • Create a new repository on Github
    • To create a new reposirtory :

    • Click on the '+ button' at the top right corner
    • Click on new reposirtory
    • Next give the reposirtory a name and description
    • Then click commit to chnages
    • Next you can choose to add or create files
    • The most important files are : README.md, index.html, scripts.js and styles.css
    • After that you need to get the repository link to the webpage and to do this you:

    • Click on settings
    • Next go scroll down the on the left menu till you find pages and click on it
    • On that page You now need to change the source to 'Deploy from branch'
    • Then under branch chnage 'none' to 'main or master' and 'docs' to 'root'
    • Click save
    • Wait for a few minutes and you will be given a link and that will be used to veiw the live page
    • Navigating between VScode and Github

      To do this you down load GitHyb desktop and you can clone all your repositories and connect between Github and Vscdoe.

      When GitHub is fully installed and all the reposiroties are cloned you can open the current repository you are working on on VScode and make your changes and then go back to GitHub desktop and save those chnages by commiting to them and then pushing it to origin.

      This will make changes to your reposirtry on your GitHub page and you can view the live page.

    How The Web Works

    The web works by using these 3 terms:

    • DNS
    • HTTP/HTTPS
    • JSON
    • Browser
    • Response
    • Request

    Term Explanation Example
    DNS(Domain Name System) Finds the IP address for a website name google.com → 142.250...
    HTTP/HTTPS(Hyper Text Transfer Protocol) Rules for sending information between your browser and a website. HTTPS encrypts data between a web brower and a website Opening https://google.com
    JSON It is an open standard file format and interchange that uses human readable texts to store and trnsmit data objects consisting of arrays and name value pairs. { "id": 101, "name": "Jane Doe", "isActive": true, "roles": ["Admin", "User"], "contact": { "email": "jane.doe@example.com", "phone": "555-0199" } }
    Browser An app used to access websites. Chrome, Safari, Edge
    Server A computer that stores websites and sends information to users. A web server hosting a website
    Request A message your browser sends asking for something. Asking for a webpage
    Response The information the server sends back. The webpage being sent to your browser

    APIs

    In this section i learnt how to use fast API and used it create some messages like the 404,200 and 500.

    What is FastAPI?

    FastAPI is a modern, fast (high-performance) web framework for building APIs with Python based on standard Python type hints. It is one of the most popular tools for creating backend services, particularly for machine learning applications, data science, and microservices.

    What does it look like?

    Quick FastAPI code looks like this:

    • from fastapi import FastAPI
    • app = FastAPI()
    • @app.get("/") def read_root(): return {"message": "Hello World"}

    When you run this code, it immediately sets up a web server and builds an interactive documentation page for you at http://127.0.0

    Break down of the code:

    • @app.get("/") is the Decorator: It tells FastAPI that the function right below it is responsible for handling web requests that go to the main web address ( the "/" path) using the HTTP GET method.
    • def read_root(): is the function: This is the standard Python function that executes whenever a user or application visits that path.
    • return {"message": "Hello World"} is the response: This is the data the function sends back to the user. FastAPI automatically converts this Python dictionary into a standard JSON object.
    • FastAPI can be used to generate some HTTPS status codes

      They are sent by the web server in the HTTP header to tell your browser or app whether the web request was successful or if an error occurred. While the code itself lives in the header, developers often repeat it inside the JSON response body so the app can read it easily.

      The 5 Categories of HTTP Status Codes:

    • 1xx (Informational): The request was received, and the process is continuing.
    • 2xx (Success): The action was successfully received, understood, and accepted (e.g., 200 OK or 201 Created).
    • 3xx (Redirection): Further action needs to be taken to complete the request (e.g., 301 Moved Permanently).
    • 4xx (Client Error): The request contains bad syntax or cannot be fulfilled (e.g., 404 Not Found or 401 Unauthorized).
    • 5xx (Server Error): The server failed to fulfill an apparently valid request (e.g., 500 Internal Server Error)

    Getting A Domain Name

    To get a domain name you have to purchase it online and you can use providers like :squarespce, namespace etc

    After purchasing the domain name you hve to set it up in Githyb and on the provider

    Setting up in GitHub

    • Configure GitHub Settings:Do this first to prevent domain takeover risks.
    • Navigate to your repository on GitHub and click Settings.
    • In the left sidebar under "Code, planning, and automation", click Pages.
    • Scroll down to Custom domain, enter your domain (e.g., example.com), and click Save.

    Updating DNS Record

    Completed at your domain registrar (e.g., Namecheap, GoDaddy). Log into your domain provider's dashboard, locate the DNS management section, and add the following records:

    Type Host/Name Value/Target
    A @ 185.199.108.153
    A @ 185.199.109.153
    A @ 185.199.110.153
    A @ 185.199.111.153
    CNAME WWW username.github.io (replace with your GitHub username)

    Enforce HTTPS

    • Wait for the DNS changes to propagate (often takes 15–30 minutes, but can take up to 24 hours).
    • Return to your repository's Settings > Pages screen.
    • Check the Enforce HTTPS box. This provisions a certificate to ensure your site is secure and redirects HTTP traffic to HTTPS automatically.

    Preparing And Submitting A Good Application

      Research The Basics

    1. The Employer: Study the company’s website and social media. Know what products or services they provide and understand their core company values
    2. The Role: Re-read the job description carefully. Highlight the top three skills they want, so you can mention them in your answers.
    3. The Qualification: Know exactly which apprenticeship level you are applying for (e.g., Level 2, Level 3, or a Degree Apprenticeship). Be ready to explain why you want to split your time between working and studying

      Master the "STAR" Method

      When asked to give examples of your skills, do not just say you are a good team player. Prove it by structuring your answers using the STAR method:

    1. S - Situation: Set the scene (e.g., "During a school group project..." or "When I was captain of my local football team...").
    2. T - Task: Describe the problem or goal you faced.
    3. A - Action: Explain exactly what you did to help or solve it.
    4. R - Result: Share the positive outcome and what you learned from the experience.

    Using pandas

    1. Download the Anaconda application
    2. Click on Jupyter Notebook.
    3. Create a new folder
    4. Then a new IPYNB file, to save as a Python file.
    5. Pandas is actually part of the Python library, the same with matplotlib and NumPy.

    When using pandas, you start by importing the library. Import pandas Import numpy as np And now you can start writing the code.

    Common commands when you have a data frame.

    1. Once the dataframe is created, you can now read it using the code df = pd.read_csv('learners_enrollment.csv')
    2. Df.shape shows you how many rows and columns there are.
    3. df.head() displays the first 5 columns, but you can also add numbers in the () to tell it the specific amount you want to be displayed.
    4. df.tail(7)—the same as the head but displays the last set of columns.
    5. Df.dtypes-shows the type of data set there are, e.g., int, str
    6. type(df)—shows the type of data frame
    7. Df.columns gives the list of columns
    8. df.info() shows which columns have information
    9. df["course"],df[["course", "level", "city","gender"]]- selects a column and multiple columns.
    10. df[df["course"] == "Python"] gives you a column with a specific value under that column
    11. df[df["column"] > number]—used to view a column that has integer values
    12. df[(df["attendance_pct"] > 55) | (df["course"] == ("Python"))]—selecting a column with a value or the other
    13. df[(df["attendance_pct"] > 55) & (df["course"] == ("Python"))]—selecting a column with a value and another.
    14. -df.sort_values(by="column_name")
    15. -ascending=True → lowest → highest
    16. -decending=False → highest → lowest
    17. df[["course", "level", "city", "gender"]].head()- view the first set of values for specific columns.
    18. Df.iloc[0]—viewing the values for a particular index.
    19. df.loc[0:6,["full_name", "department", "attendance_pct", "study_hours"]]-veiwing a value for a particular index and specific columns.

    Project evidence

    Phase 1 Placeholder Portfolio

    Completed

    • Front end
    • Github and Github workflow
    • Internet connections
    • Back end: fastAPI

    Contact