{"id":21659588,"url":"https://github.com/fabianferno/backend-dev-workshop","last_synced_at":"2025-04-11T22:40:42.577Z","repository":{"id":102439253,"uuid":"453018782","full_name":"fabianferno/backend-dev-workshop","owner":"fabianferno","description":"Backend Web Development with ExpressJS. Get Started with Rest APIs, mongoDB, TypeScript, Authentication, PostgreSQL, ORM \u0026 Middlewares. ","archived":false,"fork":false,"pushed_at":"2022-02-09T04:44:37.000Z","size":89,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T18:41:04.789Z","etag":null,"topics":["auth0","backend","boilerplate","express","jwt","mongodb","orm","postgresql","prisma","rest-api","scalable","typescript","workshop"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabianferno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2022-01-28T10:02:51.000Z","updated_at":"2023-04-11T15:44:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"346c73a5-93c0-4ab9-a7e5-03c187837a5b","html_url":"https://github.com/fabianferno/backend-dev-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabianferno%2Fbackend-dev-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabianferno%2Fbackend-dev-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabianferno%2Fbackend-dev-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabianferno%2Fbackend-dev-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabianferno","download_url":"https://codeload.github.com/fabianferno/backend-dev-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248493011,"owners_count":21113159,"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":["auth0","backend","boilerplate","express","jwt","mongodb","orm","postgresql","prisma","rest-api","scalable","typescript","workshop"],"created_at":"2024-11-25T09:31:16.679Z","updated_at":"2025-04-11T22:40:42.568Z","avatar_url":"https://github.com/fabianferno.png","language":"TypeScript","funding_links":["https://www.buymeacoffee.com/fabianferno"],"categories":[],"sub_categories":[],"readme":"![image](https://user-images.githubusercontent.com/57835412/153121327-1dd7bd20-379f-44bb-849c-0540a6a21870.png)\n\n----  \n### Get Started\n- Rest APIs, MVC\n- TypeScript, Clean Code\n- Routing, Middlewares\n- Authorization\n- PostgreSQL, Prisma ORM \n\n-----\n### Boilerplate Setup\n\n###### Use `npm` to install the project dependencies:\n```bash\nnpm install\n```\n\n###### Type ```cp .env.example .env``` in the terminal to create an ENV file and enter your credentials in the .env file.\n```sh\n# Configure your API port\nAPI_PORT=5000\n\n# Auth0 Config\nAPP_BASE_URL=http://localhost:5000 \nAUTH0_ISSUER_BASE_URL=https://yourtenant.eu.auth0.com/ \n\n# MongoDB Config\nDATABASE_URL=\"DB_CONNECTION_STRING\"\n```\n\n###### Optional: Seed the database using prisma.\n```sh\nnpm run seed\n```\n\n###### Run the project in development mode. Server restarts on file changes\n```sh\nnpm run dev\n```\n\n###### Deploy to production.\n```sh\nnpm run prod\n```\n\n----\n#### Watch the complete workshop playlist in YouTube incase you missed the livestream.\n\u003ca href=\"https://www.youtube.com/watch?v=hWz6ps63dxs\u0026list=PLLCdGWbcw9uxA4yNzJTj527n-6K3ncWFP\"\u003e\n  \u003cimg width=\"30%\" src=\"https://img.youtube.com/vi/hWz6ps63dxs/0.jpg\" /\u003e \n\u003c/a\u003e\n\u003cbr/\u003ePlease hit the like button on the videos. 🤞\n\n\n----\n\n#### Workshop Task\n- You get to build your own choice of a fully functional Rest API.\n- These could be APIs like a Weather API, Backend for a blogging platform, Movie ticket booking API, etc.\n- All the codebase of your submission shall be pushed to the Github classroon assignment repo that was sent earlier.\n- Important: No participant shall submit a same application. i.e Your submission must be unique. Hence you are requested to use the `#coders-chat` channel at \u003ca href=\"https://discord.gg/GuMceRXPSQ\"\u003ePattarai Discord\u003c/a\u003e to call dibs on what you will be building.\n\n#### General Rules\n- Your backend shall consist of more than two relations between the data models.\n- Your API should do more than just doing single CRUD operations to a database. (Create, Read, Update, Delete). Try inserting, updating across multiple tables - experiment with Prisma.\n- Try implementing nested routes. Use relevant methods and errorHandlers.\n- Using jwt or any authorization is completely optional. But doing it will fetch you a higher score.\n- Your API must be well documented via Postman and the collection should be exported and added to your repository. Refer [this.](https://learning.postman.com/docs/getting-started/importing-and-exporting-data/#exporting-postman-data)\n- Optional: You could try deploying your API to https://www.railway.app\n\n#### Onwards\n- You think you've built a great API and kick-ass prisma schema? Why not contribute to offical prisma. \n- https://github.com/prisma/templates - this repo contains a few official example projects. Have a read at its README\n- They are open for contributions to add more examples. Try opening pull requests to this repo once you've successfully completed your submission.\n- Your workshop submission might actually end up in a official prisma repository.\n\n\nFeel Free to ping me: \u003cstrong\u003esuper.skywalker#4004\u003c/strong\u003e at `#coders-chat` in Pattarai's discord if you have any doubts regarding the task.\nHappy Learning.\n \nPlease star this repo to show support ⭐️\n\n\nLike My Work?\n\n\u003ca href=\"https://www.buymeacoffee.com/fabianferno\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" height=\"60px\" width=\"217px\" \u003e\u003c/a\u003e\n\n\n\n----\n### License\nThis project is licensed under the MIT license. \u003cbr/\u003e\nSee the [LICENSE](./LICENSE.txt) file for more info.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabianferno%2Fbackend-dev-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabianferno%2Fbackend-dev-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabianferno%2Fbackend-dev-workshop/lists"}