{"id":21486267,"url":"https://github.com/barata-ribeiro/birdy","last_synced_at":"2026-04-06T02:33:16.878Z","repository":{"id":194327101,"uuid":"689051571","full_name":"Barata-Ribeiro/Birdy","owner":"Barata-Ribeiro","description":"Birdy is a full-stack Instagram-like social network for bird enthusiasts to share and explore various bird species through their photographs.","archived":false,"fork":false,"pushed_at":"2024-07-21T11:09:10.000Z","size":4153,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T14:30:36.444Z","etag":null,"topics":["bird-enthusiast","birds","birdy","express-js","instagram-like","jwt","jwt-authentication","nextjs","nextjs14","node","nodejs","postgres","postgresql","restapi","restful","social-network","typeorm","typescript"],"latest_commit_sha":null,"homepage":"https://birdy-social.vercel.app","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/Barata-Ribeiro.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-08T17:20:27.000Z","updated_at":"2024-07-21T11:09:13.000Z","dependencies_parsed_at":"2025-10-12T12:05:47.385Z","dependency_job_id":"7e8e2b6a-565d-4940-a441-6509420b3aa6","html_url":"https://github.com/Barata-Ribeiro/Birdy","commit_stats":null,"previous_names":["barata-ribeiro/birdy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Barata-Ribeiro/Birdy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barata-Ribeiro%2FBirdy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barata-Ribeiro%2FBirdy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barata-Ribeiro%2FBirdy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barata-Ribeiro%2FBirdy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Barata-Ribeiro","download_url":"https://codeload.github.com/Barata-Ribeiro/Birdy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barata-Ribeiro%2FBirdy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31457706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"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":["bird-enthusiast","birds","birdy","express-js","instagram-like","jwt","jwt-authentication","nextjs","nextjs14","node","nodejs","postgres","postgresql","restapi","restful","social-network","typeorm","typescript"],"created_at":"2024-11-23T13:20:10.016Z","updated_at":"2026-04-06T02:33:16.862Z","avatar_url":"https://github.com/Barata-Ribeiro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Birdy 🐦\n\nBirdy is an Instagram-like social media platform for bird enthusiasts to share and explore various bird species through their photographs. This repository contains both the RESTful API and the Frontend implementation of Birdy, providing a robust social network for user interactions, photo uploads, comments, and more. The API is a robust and scalable backend service designed to support Birdy. It handles user authentication, photo uploads, comments, likes, followings, and provides essential security features to ensure user data protection. It's built with Node.js and TypeORM.\n\n## Demo 🎥\n\n![Birdy](screenshot_demo.jpg \"Birdy\")\n\n**Live Demo**: [Birdy](https://birdy-social.vercel.app/)\n\n## Main Technologies 🚀\n\n### Backend\n\n- [Node.js](https://nodejs.org/): JavaScript runtime built on Chrome's V8 JavaScript engine.\n- [TypeORM](https://typeorm.io/): An ORM that can run in Node.js and supports multiple database systems.\n- [Express.js](https://expressjs.com/): A minimal and flexible Node.js web application framework.\n- [Postgres](https://www.postgresql.org/): A powerful, open-source object-relational database system.\n- [Cloudinary](https://cloudinary.com/): Cloud-based image and video management services.\n- [JWT(JSON Web Tokens)](https://jwt.io/): For secure user authentication.\n- [Nodemailer](https://nodemailer.com/): For sending emails from Node.js applications.\n\n### Frontend\n\n- [Next.js](https://nextjs.org/): A React framework for building fast web applications.\n- [React](https://react.dev/): A JavaScript library for building user interfaces.\n- [Tailwind CSS](https://tailwindcss.com/): A utility-first CSS framework for rapid UI development.\n- [Victory](https://commerce.nearform.com/open-source/victory/): A collection of composable React components for building interactive data visualizations.\n- [Sharp](https://sharp.pixelplumbing.com/): High-performance image processing in Node.js.\n\n## Setup 💻\n\n### Backend Setup\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Barata-Ribeiro/Birdy.git\n   cd Birdy/server\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Set up environment variables:\n   Create a `.env` file in the `backend` directory and add the following variables:\n   ```env\n   # Database configuration\n   POSTGRES_URI=postgres://USERNAME:PASSWORD@HOST:5432/DATABASE_NAME\n   POSTGRES_DB=your_database_name\n\n   # Server configuration\n   PORT=your_port\n   NODE_ENV=your_node_env\n   CORS_ORIGIN=your_cors_origin\n   BACKEND_ORIGIN=your_backend_origin\n\n   # Other configurations\n   JWT_SECRET_KEY=your_jwt_secret_key\n   SESSION_SECRET_KEY=your_session_secret_key\n\n   # Cloudinary Configuration\n   CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name\n   CLOUDINARY_API_KEY=your_cloudinary_api_key\n   CLOUDINARY_API_SECRET=your_cloudinary_api_secret\n\n   # Nodemailer Configuration\n   FRONTEND_ORIGIN=your_frontend_origin\n   ORIGIN_HOST=your_origin_host\n   ORIGIN_PORT=your_origin_port\n   ORIGIN_AUTH_USER=your_origin_auth_user\n   ORIGIN_AUTH_PASSWORD=your_origin_auth_password\n   ORIGIN_MAIL_FROM=your_origin_mail_from\n\n   # Seed Configuration\n   ADMIN_USERNAME=your_admin_username\n   ADMIN_EMAIL=your_admin_email\n   ADMIN_PASSWORD=your_admin_password\n   ```\n\n4. Run the application:\n   ```bash\n   npm run build\n   npm start\n   ```\n\n### Frontend Setup\n\n1. Navigate to the frontend directory:\n   ```bash\n   cd ../client\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Set up environment variables:\n   Create a `.env` file in the `frontend` directory and add the following variables:\n   ```env\n   BACKEND_ORIGIN=your_backend_server_origin\n   JWT_BACKEND_SECRET=your_backend_jwt_secret_key\n   ```\n\n4. Run the application:\n   ```bash\n   npm run dev\n   ```\n\n## Contributing 🤝\n\nContributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/Barata-Ribeiro/Birdy/issues) if you want to contribute.\n\n## License 📄\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarata-ribeiro%2Fbirdy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarata-ribeiro%2Fbirdy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarata-ribeiro%2Fbirdy/lists"}