{"id":21068454,"url":"https://github.com/prajjwalyd/full-stack-open","last_synced_at":"2026-04-11T01:03:58.602Z","repository":{"id":193537584,"uuid":"688686732","full_name":"prajjwalyd/full-stack-open","owner":"prajjwalyd","description":"The 'Full Stack open' course by University of Helsinki serves as an introduction to modern web application development!","archived":false,"fork":false,"pushed_at":"2024-01-06T01:37:00.000Z","size":772,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T21:37:41.221Z","etag":null,"topics":["express","fullstack-development","graphql","javascript","mongodb","nodejs","react","redux","typescript","web-development"],"latest_commit_sha":null,"homepage":"https://fullstackopen.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prajjwalyd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-07T22:17:40.000Z","updated_at":"2023-10-04T06:57:49.000Z","dependencies_parsed_at":"2023-09-27T22:26:24.418Z","dependency_job_id":"edcbdc03-57fe-464f-ab77-1b61d490114d","html_url":"https://github.com/prajjwalyd/full-stack-open","commit_stats":null,"previous_names":["prajjwalyd/full-stack-open"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prajjwalyd%2Ffull-stack-open","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prajjwalyd%2Ffull-stack-open/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prajjwalyd%2Ffull-stack-open/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prajjwalyd%2Ffull-stack-open/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prajjwalyd","download_url":"https://codeload.github.com/prajjwalyd/full-stack-open/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243510056,"owners_count":20302296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","fullstack-development","graphql","javascript","mongodb","nodejs","react","redux","typescript","web-development"],"created_at":"2024-11-19T18:21:23.271Z","updated_at":"2026-04-11T01:03:58.565Z","avatar_url":"https://github.com/prajjwalyd.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Full Stack Open (University of Helsinki)\n\n\u003cbr\u003e\n\n\u003cimg src=\"https://github.com/prajjwalyd/full-stack-open/assets/111794524/a19fb74c-2703-4550-b5ad-78e0d36f1dab\" width=\"200\"\u003e\n\n\u003cbr\u003e\n\n\u003cimg src=\"https://github.com/prajjwalyd/full-stack-open/assets/111794524/780e2154-b345-4f08-8b8c-bd63fbafc227\" width=\"200\"\u003e\n\n## Course content\n\n### Part 0: Fundamentals of Web apps\n\n\u003col type=\"a\"\u003e\n \u003cli\u003eGeneral info\u003c/li\u003e\n \u003cli\u003eFundamentals of Web apps\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 1: Introduction to React\n\n\u003col type=\"a\"\u003e\n  \u003cli\u003eIntroduction to React\u003c/li\u003e\n  \u003cli\u003eJavascript\u003c/li\u003e\n  \u003cli\u003eComponent state, event handlers\u003c/li\u003e\n  \u003cli\u003eA more complex state, debugging React apps\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 2: Communicating with server\n\n\u003col type=\"a\"\u003e\n  \u003cli\u003eRendering a collection, modules\u003c/li\u003e\n  \u003cli\u003eForms\u003c/li\u003e\n  \u003cli\u003eGetting data from server\u003c/li\u003e\n  \u003cli\u003eAltering data in server\u003c/li\u003e\n  \u003cli\u003eAdding styles to React app\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 3: Programming a server with NodeJS and Express\n\n\u003col type=\"a\"\u003e\n  \u003cli\u003eNode.js and Express\u003c/li\u003e\n  \u003cli\u003eDeploying app to internet\u003c/li\u003e\n  \u003cli\u003eSaving data to MongoDB\u003c/li\u003e\n  \u003cli\u003eValidation and ESLint\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 4: Testing Express servers, user administration\n\n\u003col type=\"a\"\u003e\n  \u003cli\u003eStructure of backend application, introduction to testing\u003c/li\u003e\n  \u003cli\u003eTesting the backend\u003c/li\u003e\n  \u003cli\u003eUser administration\u003c/li\u003e\n  \u003cli\u003eToken authentication\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 5: Testing React apps, custom hooks\n\n\u003col type=\"a\"\u003e\n  \u003cli\u003eLogin in frontend\u003c/li\u003e\n  \u003cli\u003eprops.children and proptypes\u003c/li\u003e\n  \u003cli\u003eTesting React apps\u003c/li\u003e\n \u003cli\u003eEnd to end -testing\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 6: Advanced state management\n\n\u003col type=\"a\"\u003e\n \u003cli\u003eFlux-architecture and Redux\u003c/li\u003e\n \u003cli\u003eMany reducers\u003c/li\u003e\n \u003cli\u003eCommunicating with server in a redux application\u003c/li\u003e\n \u003cli\u003eReact Query, useReducer and the context API\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 7: React router, styling app with CSS and webpack\n\n\u003col type=\"a\"\u003e\n \u003cli\u003eReact-router\u003c/li\u003e\n \u003cli\u003eCustom hooks\u003c/li\u003e\n \u003cli\u003eMore about styles\u003c/li\u003e\n \u003cli\u003eWebpack\u003c/li\u003e\n \u003cli\u003eClass components, E2E-testing\u003c/li\u003e\n \u003cli\u003eExercises: extending the bloglist\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 8: GraphQL\n\n\u003col type=\"a\"\u003e\n \u003cli\u003eGraphQL-server\u003c/li\u003e\n \u003cli\u003eReact and GraphQL\u003c/li\u003e\n \u003cli\u003eDatabase and user administration\u003c/li\u003e\n \u003cli\u003eLogin and updating the cache\u003c/li\u003e\n \u003cli\u003eFragments and subscriptions\u003c/li\u003e\n\u003c/ol\u003e\n\n### Part 9: Typescript\n\n\u003col type=\"a\"\u003e\n \u003cli\u003eBackground and Introduction\u003c/li\u003e\n \u003cli\u003eFirst Steps with Typescript\u003c/li\u003e\n \u003cli\u003eTyping express app\u003c/li\u003e\n \u003cli\u003eReact with types\u003c/li\u003e\n\u003c/ol\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprajjwalyd%2Ffull-stack-open","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprajjwalyd%2Ffull-stack-open","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprajjwalyd%2Ffull-stack-open/lists"}