Coder Social home page Coder Social logo

py-software-engineers's Introduction

Python boilerplate for GitHub tasks

Firstly, you should create SoftwareEngineer class, which will be a parent for all other classes. Its constructor should take one parameter: name of the engineer. Also, it should have skills attribute - a list of engineer's skills, such as "Python" or "JavaScript". skills should be initialised with empty list.

SoftwareEngineer class should have one method: learn_skill that takes a skill of string type and should add it to the skills list.

engineer = SoftwareEngineer("Max")
engineer.skills == [] 
engineer.learn_skill("Python")
engineer.skills == ["Python"] 

Write class FrontendDeveloper, which should be a child of class SoftwareEngineer. Its constructor also takes the name of the engineer. Instances of this class should have the following default skills: "JavaScript", "HTML", "CSS".

front_dev = FrontendDeveloper("Alisa")
front_dev.skills == [
    "JavaScript",
    "HTML",
    "CSS",
]

It should have one additional method: create_awesome_web_page. It should print a following string "{name} is creating a webpage..." where name is the name of the engineer and return the code of the created webpage: "<h1>Hello world</h1>".

page = front_dev.create_awesome_web_page()  # "Alisa is creating a webpage..."
page == "<h1>Hello world</h1>"

Write class BackendDeveloper, which should be a child of class SoftwareEngineer. Its constructor also takes the name of the engineer. Instances of this class should have the following default skills: "Python", "SQL", "Django".

backend_dev = BackendDeveloper("Bob")
backend_dev.skills == [
    "Python",
    "SQL",
    "Django",
]

It should have one additional method: create_powerful_api. It should print a following string "{name} is creating an API..." where name is the name of engineer and return address of the API: "http://127.0.0.1:8000".

address = backend_dev.create_powerful_api()  # "Bob is creating an API..."
address == "http://127.0.0.1:8000"

Write class AndroidDeveloper, which should be a child of class SoftwareEngineer. Its constructor also takes the name of the engineer. Instances of this class should have the following default skills: "Java", "Android studio".

android_dev = AndroidDeveloper("Beth")
android_dev.skills == [
    "Java", 
    "Android studio",
]

It should have one additional method: create_smooth_mobile_app. It should print a following string "{name} is creating a mobile app..." where name is the name of engineer and return UX of the created app: "Ads every three swipes".

app = android_dev.create_smooth_mobile_app()  # "Beth is creating a mobile app..."
app == "Ads every three swipes"

Finally, create class FullStackDeveloper which should be a child of some already created classes. It should have one additional method: create_web_application. This method should print the following message: "{name} started creating a web application..." and call create_powerful_api, create_awesome_web_page methods.

full_stack_dev = FullStackDeveloper("Tom")
full_stack_dev.skills == [
    "Python",
    "SQL",
    "Django",
    "JavaScript",
    "HTML",
    "CSS",
]

full_stack_dev.create_web_application()
# Tom started creating a web application...
# Tom is creating an API...
# Tom is creating a webpage...

py-software-engineers's People

Contributors

ivanramyk avatar abnormaltype avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.