Skip to content

The Academy path to become a practical junior developer.

Notifications You must be signed in to change notification settings

yasserhennawi/the-academy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

The Academy

Main Goal

Our main goal at The Academy is to prepare junior-level developers for a full practical-flow of software development.

Curriculum

Prerequisites

  • An Object-Oriented programming language (Currentling we support Java only material-wise) with OOP knowledge, Java Programming - Part I should be enough for a start for both Java and OOP.

Database

  • We’ll be working on a Database course offered by Stanford University instructed by Jennifer Widom, Following Points should be the mandatory ones (Quizes included):
    1. Introduction (T14m)
    2. Relational Databases (T15m)
    3. JSON Data (T37m)
    4. Relational Algebra (T38m)
    5. SQL (As much until you feel confortable with the main CRUD operations) and intro to NoSQ
    6. Unified Modeling Language (T53m)
  • Please note: Above points are the least mandatory for basic junior development level, all remaining parts of the course are extremly useful so they are recommended to be covered later.

Web services

  • Understanding the concept of web services in development.
  • Studing RESTful APIs.
  • Maven Java projects and how to use dependencies.
  • Using spark to make Java RESTful APIs
  • Connecting to a real-time database and hocking it's operations with the APIs
  • Study Authorization and Authentication in web.
  • Understand error handing in Back-End

Front-End

  • Understanding the webpage structure (HTML/CSS)
  • Javascript basics
  • Consuming APIs using our Front-End.
  • Studing React.js framework.
  • integrating main React.js friendly libiraries (react-router/redux/redux-saga)
  • Understand error handing in Front-End

Project

This project should be covered within the studing period of the course material, an example for a good project can be a Chat application, distributed as follow:

  • After OOP, you should be able to create a messenger backend, making User and Message models, along side UserRepository and MessageRepository that stores their model in an ArrayList.
  • After Database, you should be able to make the Repositories an Abstract class, and make two classes extends them, one for the ArrayList and one for a real-time database.
  • After the RESTful web-services course, you should be able to make APIs for each and every operation you might need to excute on the repositories, for example: adding a new user, or removing a message.
  • After Front-End Course, you should be able to create a react chat application that consumes your APIs and works perfectly fine to chat with your friends :).

About

The Academy path to become a practical junior developer.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published