Coder Social home page Coder Social logo

bassmkamal / 100daysofcode Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 14 KB

The purpose of this repository to get you from the internship state to mid level with the help of awesome mentors.

algorithms androiddevelopment clean-architecture clean-code data-structures kotlin problem-solving software-engineering

100daysofcode's Introduction

Android developer track.

This track is a comperhensive track, to start your career as an Android developer with a solid understanding of the software enineering.

The track will Consist of Two categories.

  • Technical skills
  • Soft skills Each category include related topics as follow:

Technical skills:

  • Kotlin
  • Software engineering fundmentals
  • Android development
  • Portifolio Projects

Soft skills:

  • Problem solving / critical thinking skills
  • Communication skills
  • Collaboration / Teamwork skills
  • interviewing skills
  • Time management

We recommend to take this track in order as descriped.

Kotlin

Software engineering

Topic Resources Progress
SOLID SOLID articles series
Design Patterns Learn Design-patterns in kotlin
practice Design-patterns
refactoring gur
it would be great if you practice all of the patters, you can start with these
Factory, Adapter, Builder, Composite, Decorator, Listener, Observer, Singleton, Strategy
Data Structures / Algorithms Data structure Playlist
It would be awesome if you finish the whole playlist with practice,
but you can just learn the first 18 videos then from 24 to 37 as a start.
Clean Code Clean code freeCodeCamp
it would be great if you can purchase Clean code book by Uncle bob
Clean Architecture Intro
Clean Architecture Tutorial for Android
Database Design Database Design by Dr. Elmasry
Read ch1, ch2, ch3, ch4, ch7, ch8, ch9, and of course the more you read the more you will understand complex topics, but as a start you need to understand these chapters mentioned.
UML Class Diagrams
Use case Digrams
Sequence Diagrams
SQLite SQLite
Git pro Git book
Docs
GitFlow Git flow
Have a look over Trunk-based development

How we will accomplish that ?

we will pick a topic (Room) for example and the responsible mentor about that topic will:

  • guide you with tutorials and estimated time for it (tow days) for example.
  • then will be a live session to discuss the topic from a senior prospective with best practice and security.
  • demonstrate live example from a real project.
  • discuss some interview questions about that topic.
  • Task with code review.

Fundumental

  • FP
  • Github
  • TDD
  • CI / CD

Android

  • IDE
  • Gradle (Groovy & KotlinDSL)
  • Lint
  • Unit test
  • DP / SP
  • Resources Qualifiers
  • Strings / Dimentions / Colors / Fonts / Menus
  • Layouts
  • Support different screen sizes
  • Handle Landscape
  • Drawables / Shapes / Vectors / Icons
  • Layout Directions
  • Localization
  • Styles
  • Theme
  • Animation
  • Compound Components / Extending Views / Custom Views
  • Translat design into code (complex examples)
  • Communicattion with UI/Ux designers
  • Accessibility
  • Activity Lifecycle
  • Fragment Lifecycle
  • Intent / Intent Filtter
  • Navigation Component
  • UI test
  • Permissions
  • SharedPreferences / DataStore
  • Content Provider
  • Room
  • Room vs ContentProvider vs DataStore
  • Broadcast Reciver
  • Services
  • Work Manager
  • Networking
  • Authentication vs Authorization
  • Communicattion with Back-end
  • Postman
  • threading
  • Reactive Programming
  • Kotlin coroutines
  • RESTFULL API / Reetorfit
  • MVP / MVVM / MVI
  • Multi Module
  • WebView
  • Maps / Places
  • Dagger / Hilt / Koin (DI / Service Locator)
  • Gradle buid
  • Get Apk ready for production

Portifolio Projects

  • Project with All learned topics from scratch with design and back-end
  • Project with update plan to demonstrate a real company's project
  • Refactoring an old project with the learned topics

100daysofcode's People

Contributors

ashraf4795 avatar bassmkamal avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

ashraf4795

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.