{"id":26035774,"url":"https://github.com/x-name15/APIs-Collection-with-TS","last_synced_at":"2025-12-31T00:54:02.927Z","repository":{"id":280985574,"uuid":"943823051","full_name":"x-name15/basic-apiCRUD-ts-mongodb","owner":"x-name15","description":"basic-apiCRUD-ts-mongodb","archived":false,"fork":false,"pushed_at":"2025-03-06T10:59:41.000Z","size":15655,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T11:33:27.881Z","etag":null,"topics":["api","mongodb","postman","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/x-name15.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":"2025-03-06T10:21:31.000Z","updated_at":"2025-03-06T11:02:48.000Z","dependencies_parsed_at":"2025-03-06T11:43:38.962Z","dependency_job_id":null,"html_url":"https://github.com/x-name15/basic-apiCRUD-ts-mongodb","commit_stats":null,"previous_names":["x-name15/basic-apicrud-ts-mongodb"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x-name15%2Fbasic-apiCRUD-ts-mongodb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x-name15%2Fbasic-apiCRUD-ts-mongodb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x-name15%2Fbasic-apiCRUD-ts-mongodb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x-name15%2Fbasic-apiCRUD-ts-mongodb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/x-name15","download_url":"https://codeload.github.com/x-name15/basic-apiCRUD-ts-mongodb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242338993,"owners_count":20111502,"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","mongodb","postman","typescript"],"created_at":"2025-03-07T05:55:34.995Z","updated_at":"2025-12-31T00:54:02.922Z","avatar_url":"https://github.com/x-name15.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎬 APIs-Collection-with-TS\n\nThis is a **Movie API Collection** built with **TypeScript**, using different setups for **MongoDB** and **PostgreSQL**.\n\n---\n\n## 👋 Hey, welcome back mate!\n\nThis project is a small collection of APIs — well, technically **one Movie API**, but implemented in **different ways** using various database engines and tools.  \nThe goal is to show **how the same concept can evolve** across setups, from a simple CRUD to a more complete and structured API.\n\n---\n\n## 🌿 Branches and Levels\n\nThe repository is divided into **branches** and **directory levels**, to help you explore each version of the API progressively:\n\n### 🧠 Branches\n\n- **`main`**  \n  This is the “lobby” of the project.  \n  It only contains:\n  - General documentation (this README)\n  - The `.env.example` file\n  - A small txt witht the general npm packages used on this project\n\n- **`mongoose`**  \n  Contains the Movie API built with **MongoDB + Mongoose**.  \n  Inside this branch, you’ll find folders such as:\n  - `api_basica/` → A minimal CRUD setup using Express and Mongoose  \n  - `api_intermedia/` → Adds validations, better structure, and new npm packages\n  -  `api-with-consumer/`  → A variant API with a consumer using RabbitMQ for this task\n\n- **`prisma`**  \n  Contains the Movie API built with **PostgreSQL + Prisma ORM**.  \n  Inside this branch:\n  - `api_basica_nodemon/` → Basic CRUD example with Prisma  \n---\n\n## 🗂️ File Structure\n\nHere’s a visual overview of how the project is structured (mostly):\n\n![structure-schema](/images/schema.png)\n\nEach branch keeps its own folder organization, so you can switch between them and test independently.\n\n---\n\n## ⚙️ Things to Keep in Mind\n\n- All setups use **dotenv** to protect credentials.  \n  Yes, it’s a bit overkill for local environments — but hey, it’s good habit.  \n\n- The **data format** for each movie document is:\n  ```json\n  {\n    \"title\": \"string\",\n    \"director\": \"string\",\n    \"year\": number,\n    \"genres\": [\"string\", \"string\"]\n  }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx-name15%2FAPIs-Collection-with-TS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fx-name15%2FAPIs-Collection-with-TS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx-name15%2FAPIs-Collection-with-TS/lists"}