{"id":24423460,"url":"https://github.com/ltan02/intro-to-api-workshop","last_synced_at":"2026-04-11T01:35:21.582Z","repository":{"id":227012101,"uuid":"769762400","full_name":"ltan02/intro-to-api-workshop","owner":"ltan02","description":"UBC Launch Pad - Intro to API with TypeScript Workshop Repository","archived":false,"fork":false,"pushed_at":"2024-03-16T17:36:39.000Z","size":94,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-20T10:18:13.637Z","etag":null,"topics":["api","express","postman","react","sqlite","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/ltan02.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}},"created_at":"2024-03-10T01:28:48.000Z","updated_at":"2024-03-16T18:03:45.000Z","dependencies_parsed_at":"2024-03-11T06:26:07.498Z","dependency_job_id":"3471e0aa-95ac-4409-9a12-29e6b2d3fd86","html_url":"https://github.com/ltan02/intro-to-api-workshop","commit_stats":null,"previous_names":["ltan02/intro-to-api-workshop"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltan02%2Fintro-to-api-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltan02%2Fintro-to-api-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltan02%2Fintro-to-api-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltan02%2Fintro-to-api-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ltan02","download_url":"https://codeload.github.com/ltan02/intro-to-api-workshop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243420756,"owners_count":20288152,"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":["api","express","postman","react","sqlite","typescript"],"created_at":"2025-01-20T10:18:18.210Z","updated_at":"2026-04-11T01:35:16.549Z","avatar_url":"https://github.com/ltan02.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction to API Development with TypeScript Workshop\n\nWelcome to the \"Introduction to API Development with TypeScript\" workshop! This workshop is designed to introduce you to the fundamentals of building and consuming APIs using TypeScript.\n\n## Host Information\n\n**Name:** Lance Tan\n\n**Contact Information:** [https://www.linkedin.com/in/lancetan02/](https://www.linkedin.com/in/lancetan02/)\n\n## Learning Outcomes\n\nBy the end of this workshop, you will:\n\n- Understand what APIs are and how they work.\n- Implement endpoints in Express using Typescript.\n- Learn how to consume API endpoints in your frontend.\n\n## Prerequisites\n\nBefore you start, make sure you have the following installed:\n\n- [Node.js](https://nodejs.org/)\n- [npm](https://www.npmjs.com/) (usually comes with Node.js)\n- [Git](https://git-scm.com/)\n\n## Tech Stack\n\nThis workshop involves building a full-stack application using the following technologies:\n\n- **Frontend:**\n  - **React \u0026 Vite:** A JavaScript library for building user interfaces.\n  - **TypeScript:** A superset of JavaScript that adds static types.\n\n- **Backend:**\n  - **Express:** A minimal and flexible Node.js web application framework.\n  - **TypeScript:** Used for writing backend logic with type safety.\n\n- **Database:**\n  - **SQLite:** A C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.\n\n- **Tools:**\n  - **Node.js:** JavaScript runtime built on Chrome's V8 JavaScript engine.\n  - **npm:** A package manager for JavaScript.\n\n## Installation\n\nFirst, clone the repository:\n\n```bash\ngit clone https://github.com/ltan02/intro-to-api-workshop.git\ncd intro-to-api-workshop\n```\n\n### Setting up the Backend\n\nNavigate to the backend directory:\n\n```bash\ncd backend\n```\n\nInstall the necessary dependencies:\n\n```bash\nnpm install\n```\n\nSet up the SQLite Database:\n\n```bash\nnpm run setup-db\n```\n\nStart the Express server:\n\n```bash\nnpm run start\n```\n\nThe server will run on http://localhost:8000\n\n### Setting up the Frontend\n\nNavigate to the frontend directory:\n\n```bash\ncd frontend\n```\n\nInstall the necessary dependencies:\n\n```bash\nnpm install\n```\n\nStart the React application:\n\n```bash\nnpm run dev\n```\n\nThe application will run on http://localhost:3000","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fltan02%2Fintro-to-api-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fltan02%2Fintro-to-api-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fltan02%2Fintro-to-api-workshop/lists"}