{"id":13626471,"url":"https://github.com/kammradt/lets-meet-api","last_synced_at":"2026-04-15T18:32:00.772Z","repository":{"id":46896855,"uuid":"264067188","full_name":"kammradt/lets-meet-api","owner":"kammradt","description":"💚 A Meetup like API using NestJs: Welcome to Let's Meet!","archived":false,"fork":false,"pushed_at":"2021-10-19T18:53:42.000Z","size":4506,"stargazers_count":4,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-17T05:10:05.221Z","etag":null,"topics":["api","api-rest","express","meet","nestjs","rest","typeorm","typescript"],"latest_commit_sha":null,"homepage":"https://lets-meet.now.sh","language":"TypeScript","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/kammradt.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}},"created_at":"2020-05-15T01:36:17.000Z","updated_at":"2021-10-19T18:53:43.000Z","dependencies_parsed_at":"2022-09-11T16:11:15.853Z","dependency_job_id":null,"html_url":"https://github.com/kammradt/lets-meet-api","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":"magrathealabs/template-projeto-selecao","purl":"pkg:github/kammradt/lets-meet-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kammradt%2Flets-meet-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kammradt%2Flets-meet-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kammradt%2Flets-meet-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kammradt%2Flets-meet-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kammradt","download_url":"https://codeload.github.com/kammradt/lets-meet-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kammradt%2Flets-meet-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31854715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api","api-rest","express","meet","nestjs","rest","typeorm","typescript"],"created_at":"2024-08-01T21:02:19.883Z","updated_at":"2026-04-15T18:32:00.668Z","avatar_url":"https://github.com/kammradt.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\n\n\n\u003ch1 align=\"center\"\u003eWelcome to Let's Meet API :v: \u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg  src=\"./images/lets-meet.png\"  alt=\"Let's meet logo\"  width=500\"\u003e\n\u003c/div\u003e\n\n\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg  src=\"https://forthebadge.com/images/badges/built-with-love.svg\" /\u003e\n\n\u003c/div\u003e\n\n\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca  href=\"https://github.com/kammradt/lets-meet-api/stargazers\"\u003e\n\n\u003cimg  src=\"https://img.shields.io/github/stars/kammradt/lets-meet-api.svg?style=for-the-badge\" /\u003e\n\n\u003c/a\u003e\n\n\u003c/div\u003e\n\n\n\n##  Goals 🗺️\n\nSome time ago, I was interested on Typescript and building APIs with it, so I started a [NestJs course](https://github.com/kammradt/learning-nestjs). This project aims to apply what I learned, by creating a an API to a *[Meetup](https://www.meetup.com/) clone* that I'm calling **Let's meet!**\n\n\n\n##  Description 📝\n\n**Let's meet!** is a study project aiming to be a simpler version of [Meetup](https://www.meetup.com/).\n\nIt will allow users to create, manage and organize events.\nYou can verify more below!\n\n\n###  Development progress :bar_chart:\n\n\u003e I'm trying to follow gitflow, so you can see my progress usings the tags from this repository too! :blush:\n\n\n- [x] **Users module**\n\t- [x] Anyone should be able to register and become a User\n\t- [x] Any User should be able to get own information\n\t- [x] Admins should be able to retrieve information about all users\n\t    - [ ] Create a custom PaginationOptions for listing users by role\n\t- [x] Admins should be able to update a User role\n\n- [x] **Auth module**\n\t- [x] Any User should be able to perform login and receiving a JWT to use in next requests.\n\t- [x] This module should export authorization and authentication functionality for all other modules\n\n- [x] **Events module**\n\t- [x] Regular Users should be able to create events with 50 max attendees\n\t\t- [x] 100 attendees for Premium Users\n\t- [x] Users should be able to retrieve their events\n\t- [ ] Users should be able to retrieve events that they are attending\n\t- [x] Users should be able to edit the Event title, description, date, etc\n\t- [x] Users should be able to cancel their Events\n\t\t- [x] Admins should be able to cancel any Event\n\t- [x] Events should be able to hold Users requesting to attend\n\t- [x] Events should be able to hold Users requesting to exit from it\n\t- [ ] Admins and the Event owner can remove a User from a specific event\n\t- [ ] Users should be able to create comments, edit and delete comments on Events\n\t\t- [ ] Event owner and Admin and remove comments from any users\n\t- [ ] A scheduled job should be created to update events and mark them as DONE after current date is bigger than event endDate field\n\n\n- [ ] **Notifications module**\n    - [ ] Thinking about it 🤔\n\n##  Try it out :exclamation:\n\nI mapped all API calls using [Insomnia](https://insomnia.rest/download/core/?\u0026ref=), so it is easier for testing flows while the front-end app is not completely ready.     \nTo be easier for you, just import [this file](https://github.com/kammradt/lets-meet-api/blob/master/insomnia/Insomnia_api.json)\n \n\n##  How to use :globe_with_meridians:\n\nAPI: https://api-lets-meet.herokuapp.com/  \nWeb app: https://lets-meet.now.sh/  \n[Web app repo](https://github.com/kammradt/lets-meet-client)\n\n##  How to use :house:\n\n### Database setup\n\nWe are using PostgreSQL 12.\n\n- With docker:\n\t`docker-compose up`\n\n- Local database:  (look at `/config/default.json`)\n  ```js\n\t{\n\t  \"host\": \"localhost\",\n      \"database\": \"letsmeet\",\n      \"username\": \"postgres\",\n      \"password\": \"postgres\",\n      \"port\": 5432\n\t}\n\t```\n***\n\n### API setup\n\nWe are using NestJS.\n\u003e NestJS has a really usefull cli, I recommend you installing it!\n```bash\n$ npm install -g @nestjs/cli\n```\n\nRecommended TSC version: `Version 3.9.3`\nRecommended Node version: `v12.16.3`\n(It is easier to install using [nvm!](https://github.com/nvm-sh/nvm))\n\n- Installing Node and Typescript:\n\t```bash\n\t$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash\n\t$ nvm install v12.16.3\n\t$ npm install -g typescript\n\t```\n\n- Running the API:\n\t```bash\n\t$ npm run start:dev\n\t```\n\n- Running tests:\n\t```bash\n\t$ npm run test\n\t```\n\n##  Help is always welcome :wink:\n\u003e Because as you can see, I have absolute no ideia what I'm doing :satisfied:\n\n### How can I help?\n- You can [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) this project and modify what you want. And then, send modifications using the [Pull Request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) system.\n\n### What is and How to create a Fork?\n- A Fork is basically a copy of this repository, but in your account. So, you have access to all files and can do whatever you want with your version.\nUsing github is really easy to create a Fork, just follow:\n\u003e You just need to click on `Fork` button on the top right!\n![Fork instructions](https://github.com/kammradt/lets-meet-api/blob/master/images/fork.gif)\n\n### What is and How to create a Pull Request?\n- A Pull Request is a way of putting code from multiple people together in a organized way. After your modifications on your own forked repository, you can commit those changes and push to it.\nNow you have you repository updated with changes, but note that all those changes are only on your forked version.\nHow to put your version together with mine and have a better project? Really easy! Just follow:\n\u003e 1. Go to the Pull Request tab\n\u003e 2. Click on `new pull Request`\n\u003e 3. You can verify the modifications\n\u003e 4. Click on `Create pull Request`\n\u003e 5. It is a good ideia to write a description of what was added\n\u003e 5. Create it! Thanks so much!\n![PR instructions](https://github.com/kammradt/lets-meet-api/blob/master/images/pr.gif)\n\n\n\n##  Author\n\n👤 **Vinicius Kammradt**\n\n* Website: https://kammradt.now.sh/\n\n* Twitter: [@kammzinho](https://twitter.com/kammzinho)\n\n* Github: [@kammradt](https://github.com/kammradt)\n\n* LinkedIn: [@vinicius-kammradt](https://linkedin.com/in/vinicius-kammradt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkammradt%2Flets-meet-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkammradt%2Flets-meet-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkammradt%2Flets-meet-api/lists"}