{"id":28820239,"url":"https://github.com/saad662/twitter-backend","last_synced_at":"2025-08-16T10:44:56.198Z","repository":{"id":193035819,"uuid":"687549149","full_name":"saad662/twitter-backend","owner":"saad662","description":"Twitter Backend: A Node.js project that simulates the backend functionality of Twitter, including user management, tweets, and passwordless authentication using SendGrid and JWT tokens.","archived":false,"fork":false,"pushed_at":"2023-09-18T17:19:53.000Z","size":9130,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-26T09:07:41.248Z","etag":null,"topics":["backend","nodejs","prisma"],"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/saad662.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,"zenodo":null}},"created_at":"2023-09-05T15:25:12.000Z","updated_at":"2023-11-18T09:50:33.000Z","dependencies_parsed_at":"2023-09-06T13:24:36.594Z","dependency_job_id":"ace627f0-e453-47fa-9e71-314347b39950","html_url":"https://github.com/saad662/twitter-backend","commit_stats":null,"previous_names":["saad662/twitter-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/saad662/twitter-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saad662%2Ftwitter-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saad662%2Ftwitter-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saad662%2Ftwitter-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saad662%2Ftwitter-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saad662","download_url":"https://codeload.github.com/saad662/twitter-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saad662%2Ftwitter-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270702471,"owners_count":24630873,"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-08-16T02:00:11.002Z","response_time":91,"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":["backend","nodejs","prisma"],"created_at":"2025-06-18T21:08:53.205Z","updated_at":"2025-08-16T10:44:56.154Z","avatar_url":"https://github.com/saad662.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿\u003c!DOCTYPE html\u003e\r\n\u003chtml\u003e\r\n\r\n\u003cbody\u003e\r\n    \u003ch1\u003eTwitter Backend\u003c/h1\u003e\r\n    \u003cimg src=\"https://github.com/saad662/twitter-backend/blob/main/twitter.png\" alt=\"Twitter Backend Logo\"\u003e\r\n    \u003ch2\u003e Overview\u003c/h2\u003e\r\n    \u003cp\u003eWelcome to the Twitter Backend project! This Node.js application aims to resemble the backend functionality of the popular social media platform Twitter. It provides essential features for users, tweets, and authentication.\u003c/p\u003e\u003ch2\u003eTable of Contents\u003c/h2\u003e\r\n    \u003col\u003e\r\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"#configuration\"\u003eConfiguration\u003c/a\u003e\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"#routes\"\u003eRoutes\u003c/a\u003e\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"#middleware\"\u003eMiddleware\u003c/a\u003e\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"#dependencies\"\u003eDependencies\u003c/a\u003e\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\r\n    \u003c/ol\u003e\r\n    \u003ch2 id=\"installation\"\u003eInstallation\u003c/h2\u003e\r\n    \u003cp\u003eTo get started with the Twitter Backend project, follow these steps:\u003c/p\u003e\r\n    \u003col\u003e\r\n        \u003cli\u003eClone the repository:\u003c/li\u003e\r\n    \u003c/ol\u003e\r\n    \u003cpre\u003e\u003ccode\u003egit clone https://github.com/saad662/twitter-backend.git\u003c/code\u003e\u003c/pre\u003e\r\n    \u003col start=\"2\"\u003e\r\n        \u003cli\u003eNavigate to the project directory:\u003c/li\u003e\r\n    \u003c/ol\u003e\r\n    \u003cpre\u003e\u003ccode\u003ecd twitter-backend\u003c/code\u003e\u003c/pre\u003e\r\n    \u003col start=\"3\"\u003e\r\n        \u003cli\u003eInstall the project dependencies:\u003c/li\u003e\r\n    \u003c/ol\u003e\r\n    \u003cpre\u003e\u003ccode\u003enpm install\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"usage\"\u003eUsage\u003c/h2\u003e\r\n    \u003cp\u003eTo run the Twitter Backend application, use the following command:\u003c/p\u003e\r\n    \u003cpre\u003e\u003ccode\u003enpm run dev\u003c/code\u003e\u003c/pre\u003e\r\n    \u003cp\u003eThis command starts the development server using \u003ca href=\"https://nodemon.io/\"\u003enodemon\u003c/a\u003e and listens on \u003ccode\u003ehttp://localhost:3000\u003c/code\u003e. You can access the application by opening this URL in your web browser or making API requests.\u003c/p\u003e\u003ch2 id=\"configuration\"\u003eConfiguration\u003c/h2\u003e\r\n    \u003cp\u003eThe project includes a \u003ccode\u003econfig\u003c/code\u003e folder where you can configure various settings. Make sure to update these configurations according to your requirements:\u003c/p\u003e\r\n    \u003cul\u003e\r\n        \u003cli\u003e\u003ccode\u003econfig/authConfig.ts\u003c/code\u003e: Configure your secret key for JSON Web Tokens (JWT) and other authentication settings.\u003c/li\u003e\r\n        \u003cli\u003e\u003ccode\u003econfig/sendgridConfig.ts\u003c/code\u003e: Configure your \u003ca href=\"https://sendgrid.com/\"\u003eSendGrid\u003c/a\u003e API key for sending email notifications.\u003c/li\u003e\r\n    \u003c/ul\u003e\u003ch2 id=\"routes\"\u003eRoutes\u003c/h2\u003e\r\n    \u003cp\u003eThe Twitter Backend project includes the following API routes:\u003c/p\u003e\r\n    \u003cul\u003e\r\n        \u003cli\u003e\u003ccode\u003e/user\u003c/code\u003e: User-related endpoints.\u003c/li\u003e\r\n        \u003cli\u003e\u003ccode\u003e/tweet\u003c/code\u003e: Tweet-related endpoints.\u003c/li\u003e\r\n        \u003cli\u003e\u003ccode\u003e/auth\u003c/code\u003e: Authentication-related endpoints.\u003c/li\u003e\r\n    \u003c/ul\u003e\r\n    \u003cp\u003eYou can find the route definitions in the respective route files located in the \u003ccode\u003eroutes\u003c/code\u003e folder.\u003c/p\u003e\u003ch2 id=\"middleware\"\u003eMiddleware\u003c/h2\u003e\r\n    \u003cp\u003eThe application uses middleware for authentication. The \u003ccode\u003eauthenticateToken\u003c/code\u003e middleware is applied to routes that require authentication. You can find this middleware in the \u003ccode\u003emiddlewares/authMiddleware.ts\u003c/code\u003e file.\u003c/p\u003e\u003ch2 id=\"dependencies\"\u003eDependencies\u003c/h2\u003e\r\n    \u003cp\u003eThe project uses several dependencies, which are listed in the \u003ccode\u003epackage.json\u003c/code\u003e file:\u003c/p\u003e\r\n    \u003ch3\u003eProduction Dependencies:\u003c/h3\u003e\r\n    \u003cul\u003e\r\n        \u003cli\u003e\u003ca href=\"https://www.prisma.io/client\"\u003e@prisma/client\u003c/a\u003e: Prisma Client for database interaction.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://github.com/sendgrid/sendgrid-nodejs\"\u003e@sendgrid/mail\u003c/a\u003e: SendGrid library for sending email notifications.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://expressjs.com/\"\u003eexpress\u003c/a\u003e: Web framework for building the API.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://github.com/auth0/node-jsonwebtoken\"\u003ejsonwebtoken\u003c/a\u003e: Library for working with JSON Web Tokens (JWT).\u003c/li\u003e\r\n    \u003c/ul\u003e\r\n    \u003ch3\u003eDevelopment Dependencies:\u003c/h3\u003e\r\n    \u003cul\u003e\r\n        \u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/@types/express\"\u003e@types/express\u003c/a\u003e: Type definitions for Express.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/@types/jsonwebtoken\"\u003e@types/jsonwebtoken\u003c/a\u003e: Type definitions for JSON Web Tokens.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/@types/node\"\u003e@types/node\u003c/a\u003e: Type definitions for Node.js.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://nodemon.io/\"\u003enodemon\u003c/a\u003e: Utility for restarting the server during development.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://www.prisma.io/\"\u003eprisma\u003c/a\u003e: Prisma CLI for database migrations and management.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://github.com/TypeStrong/ts-node\"\u003ets-node\u003c/a\u003e: TypeScript execution environment.\u003c/li\u003e\r\n        \u003cli\u003e\u003ca href=\"https://www.typescriptlang.org/\"\u003etypescript\u003c/a\u003e: TypeScript language support.\u003c/li\u003e\r\n    \u003c/ul\u003e \u003ch2 id=\"contributing\"\u003eContributing\u003c/h2\u003e\r\n    \u003cp\u003eIf you'd like to contribute to this project, please follow these guidelines:\u003c/p\u003e\r\n    \u003col\u003e\r\n        \u003cli\u003eFork the repository.\u003c/li\u003e\r\n        \u003cli\u003eCreate a new branch for your feature or bug fix: \u003ccode\u003egit checkout -b feature/your-feature-name\u003c/code\u003e or \u003ccode\u003egit checkout -b bugfix/your-bug-fix\u003c/code\u003e.\u003c/li\u003e\r\n        \u003cli\u003eMake your changes and commit them: \u003ccode\u003egit commit -m \"Your commit message here\"\u003c/code\u003e.\u003c/li\u003e\r\n        \u003cli\u003ePush your changes to your fork: \u003ccode\u003egit push origin feature/your-feature-name\u003c/code\u003e.\u003c/li\u003e\r\n        \u003cli\u003eOpen a pull request to the \u003ccode\u003emain\u003c/code\u003e branch of the original repository.\u003c/li\u003e\r\n    \u003c/ol\u003e\u003ch2 id=\"license\"\u003eLicense\u003c/h2\u003e\r\n    \u003cp\u003eThis project is licensed under the \u003ca href=\"https://opensource.org/licenses/ISC\"\u003eISC License\u003c/a\u003e. See the \u003ca href=\"https://github.com/saad662/twitter-backend/blob/main/LICENSE\"\u003eLICENSE\u003c/a\u003e file for details.\u003c/p\u003e\u003chr\u003e\u003cp\u003eThank you for using Twitter Backend! If you have any questions or encounter any issues, please feel free to \u003ca href=\"https://github.com/saad662/twitter-backend/issues\"\u003eopen an issue\u003c/a\u003e. Happy coding!\u003c/p\u003e\r\n\u003c/body\u003e\r\n\r\n\u003c/html\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaad662%2Ftwitter-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaad662%2Ftwitter-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaad662%2Ftwitter-backend/lists"}