{"id":29878569,"url":"https://github.com/davesimoes/programming-languages-graphql-api","last_synced_at":"2025-07-31T07:33:15.061Z","repository":{"id":307008252,"uuid":"1026858098","full_name":"DaveSimoes/programming-languages-graphql-api","owner":"DaveSimoes","description":"A public GraphQL API providing structured data on programming languages, their creators, and related frameworks and tools. Perfect for developers, educators, and anyone exploring modern technology stacks.","archived":false,"fork":false,"pushed_at":"2025-07-29T00:24:19.000Z","size":26,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-29T00:25:31.941Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DaveSimoes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-07-26T19:04:11.000Z","updated_at":"2025-07-29T00:25:08.000Z","dependencies_parsed_at":"2025-07-29T00:26:10.133Z","dependency_job_id":"55b6dd44-50d7-4eb7-a1a8-080233776696","html_url":"https://github.com/DaveSimoes/programming-languages-graphql-api","commit_stats":null,"previous_names":["davesimoes/programming-languages-graphql-api"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/DaveSimoes/programming-languages-graphql-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaveSimoes%2Fprogramming-languages-graphql-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaveSimoes%2Fprogramming-languages-graphql-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaveSimoes%2Fprogramming-languages-graphql-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaveSimoes%2Fprogramming-languages-graphql-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaveSimoes","download_url":"https://codeload.github.com/DaveSimoes/programming-languages-graphql-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaveSimoes%2Fprogramming-languages-graphql-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268004295,"owners_count":24179390,"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","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-07-31T07:33:14.000Z","updated_at":"2025-07-31T07:33:15.049Z","avatar_url":"https://github.com/DaveSimoes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Programming Languages \u0026 Tools GraphQL API\r\n\r\nA public GraphQL API providing structured data on programming languages, their creators, and related frameworks and tools. Perfect for developers, educators, and anyone exploring modern technology stacks!\r\n\r\n[![Stars](https://img.shields.io/github/stars/DaveSimoes/programming-languages-graphql-api?style=social)](https://github.com/DaveSimoes/programming-languages-graphql-api/stargazers)\r\n[![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\r\n\u003cimg width=\"1290\" height=\"585\" alt=\"apollo-playground-queryoriginal\" src=\"https://github.com/user-attachments/assets/1f9daac3-9ae9-4253-a709-c8827a977941\" /\u003e\r\n\r\n\r\n\r\n\r\n---\r\n\r\n## ✨ Features\r\n\r\n- 🔎 Query programming languages, creators, release dates, and related frameworks\r\n- 🛠️ Add new languages and frameworks (mutations)\r\n- ⚡ Interactive GraphQL Playground for queries and mutations\r\n- 📚 Easily extensible and ready for integration with modern projects\r\n\r\n---\r\n## 🔎 Database\r\nThis project uses MongoDB as a NoSQL database to store information about programming languages, their creators, related frameworks, and tools.\r\nThe connection to MongoDB is established through the Node.js backend, ensuring structured data and efficient queries via GraphQL.\r\n\r\n- Connection setup:\r\n\r\nTo run the project, you need to have MongoDB installed and running.\r\nConfigure the following environment variable with the URI to your database:\r\n```\r\nMONGODB_URI=mongodb://localhost:27017/database-name\r\n```\r\n\r\n## 🚀 Getting Started\r\n\r\n1. **Clone the repository**\r\n   ```bash\r\n   git clone https://github.com/DaveSimoes/programming-languages-graphql-api.git\r\n   cd programming-languages-graphql-api\r\n   ```\r\n2. **Install dependencies**\r\n   ```bash\r\n   npm install\r\n   ```\r\n3. **Configure environment variables**\r\n   - Copy `.env.example` to `.env` and adjust variables if needed.\r\n\r\n4. **Start the project**\r\n   ```bash\r\n   npm run dev\r\n   ```\r\n\r\n5. **Access the GraphQL playground**\r\n   - Open your browser at `/graphql` after starting the server to explore and test queries.\r\n\r\n---\r\n\r\n## 📝 Example Query\r\n\r\n```graphql\r\nquery {\r\n  languages {\r\n    id\r\n    name\r\n    creator\r\n    year\r\n    frameworks {\r\n      name\r\n      type\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Example Mutation\r\n\r\n```graphql\r\nmutation {\r\n  addLanguage(\r\n    name: \"TypeScript\"\r\n    creator: \"Anders Hejlsberg\"\r\n    year: 2012\r\n    website: \"https://www.typescriptlang.org/\"\r\n  ) {\r\n    id\r\n    name\r\n  }\r\n}\r\n```\r\n\r\n---\r\n## 🛠️Screenshot of Apollo GraphQL studio - Hands-on application of examples on the Apollo GraphQL server\r\n\u003cimg width=\"1309\" height=\"429\" alt=\"apollo-playground\" src=\"https://github.com/user-attachments/assets/b3741b15-667a-413b-893d-e78736d04b02\" /\u003e\r\n\u003cimg width=\"1290\" height=\"439\" alt=\"apollo-playground-framework\" src=\"https://github.com/user-attachments/assets/c98dadd0-1d70-451d-a571-dd64c3cad7a5\" /\u003e\r\n\u003cimg width=\"1290\" height=\"585\" alt=\"apollo-playground-queryoriginal\" src=\"https://github.com/user-attachments/assets/673b0406-97fb-44d5-b818-e6226dcd5f1a\" /\u003e\r\n\r\n\r\n## 🌍 Deploy in One Click\r\n\r\nDeploy easily to platforms like [Railway](https://railway.app/), [Render](https://render.com/), or [Vercel](https://vercel.com/) (Node.js supported).\r\n\r\n---\r\n\r\n## 🤝 Contributing\r\n\r\nPull requests are welcome! Feel free to open issues, suggest improvements, or add new data to the API.\r\n\r\n---\r\n\r\n## 📄 License\r\n\r\nDistributed under the MIT License.\r\n\r\n---\r\n\r\n\u003e Built by **David De Paiva**  \r\n\u003e [LinkedIn](https://www.linkedin.com/in/dspaivadev/) \r\n\u003e _Passionate about technology and building solutions that connect people and knowledge._\r\n\r\n---\r\nIf you find this project useful, please consider giving it a ⭐ star to support the repository and help others discover it!\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavesimoes%2Fprogramming-languages-graphql-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavesimoes%2Fprogramming-languages-graphql-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavesimoes%2Fprogramming-languages-graphql-api/lists"}