{"id":31741678,"url":"https://github.com/codernayeem/sparrow","last_synced_at":"2025-10-09T10:55:39.646Z","repository":{"id":315937653,"uuid":"1055102839","full_name":"codernayeem/Sparrow","owner":"codernayeem","description":"A social media web app that allows users to create profiles, share posts, interact through likes/comments and more.","archived":false,"fork":false,"pushed_at":"2025-10-06T04:16:21.000Z","size":1630,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T06:14:44.732Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codernayeem.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-11T19:15:40.000Z","updated_at":"2025-10-06T04:16:26.000Z","dependencies_parsed_at":"2025-09-21T19:25:20.276Z","dependency_job_id":"3f1d965d-e74b-4f64-a058-7435e2822548","html_url":"https://github.com/codernayeem/Sparrow","commit_stats":null,"previous_names":["codernayeem/sparrow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codernayeem/Sparrow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codernayeem%2FSparrow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codernayeem%2FSparrow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codernayeem%2FSparrow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codernayeem%2FSparrow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codernayeem","download_url":"https://codeload.github.com/codernayeem/Sparrow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codernayeem%2FSparrow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001254,"owners_count":26083040,"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-10-09T02:00:07.460Z","response_time":59,"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-10-09T10:55:37.653Z","updated_at":"2025-10-09T10:55:39.641Z","avatar_url":"https://github.com/codernayeem.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sparrow - Social Media Platform\n\nA modern social media platform built with React, Node.js, Express, and MongoDB.\n\n## Features\n\n- ✅ User Registration (Sign Up)\n- ✅ JWT Authentication\n- ✅ Protected Routes\n- ✅ Dashboard with User Profile\n- ✅ Responsive Design (Light Mode)\n- 📋 Sign In (Placeholder - Not Implemented)\n- 📋 Posts/Feed (Not Implemented)\n- 📋 User Profiles (Not Implemented)\n\n## Tech Stack\n\n**Frontend:**\n- React 19\n- React Router DOM\n- Tailwind CSS\n- Vite\n\n**Backend:**\n- Node.js\n- Express.js\n- MongoDB with Mongoose\n- JWT for authentication\n- bcryptjs for password hashing\n\n## Setup Instructions\n\n### Prerequisites\n- Node.js (v16 or higher)\n- MongoDB (local installation or MongoDB Atlas)\n- npm or yarn\n\n### 1. Clone the Repository\n\\`\\`\\`bash\ngit clone https://github.com/codernayeem/Sparrow.git\ncd Sparrow\n\\`\\`\\`\n\n### 2. Environment Setup\nCreate a \\`.env\\` file in the root directory:\n\\`\\`\\`bash\ncp .env.example .env\n\\`\\`\\`\n\nUpdate the \\`.env\\` file with your configuration:\n\\`\\`\\`env\nMONGO_URI=mongodb://localhost:27017/sparrow\nJWT_SECRET=your_very_secure_jwt_secret_key_here\nPORT=5000\nNODE_ENV=development\n\\`\\`\\`\n\n### 3. Install Dependencies\n\\`\\`\\`bash\n# Install backend dependencies\nnpm install\n\n# Install frontend dependencies\ncd frontend\nnpm install\ncd ..\n\\`\\`\\`\n\n### 4. Start the Application\n\n**Option 1: Start both frontend and backend separately**\n\\`\\`\\`bash\n# Terminal 1 - Start backend server\nnpm run dev\n\n# Terminal 2 - Start frontend dev server\ncd frontend\nnpm run dev\n\\`\\`\\`\n\n**Option 2: Use the build command (production)**\n\\`\\`\\`bash\nnpm run build\nnpm start\n\\`\\`\\`\n\n### 5. Access the Application\n- Frontend: http://localhost:5173 (development) or http://localhost:5000 (production)\n- Backend API: http://localhost:5000/api\n\n## Available Routes\n\n### Frontend Routes\n- \\`/\\` - Home page\n- \\`/signup\\` - User registration\n- \\`/signin\\` - Sign in (placeholder)\n- \\`/dashboard\\` - User dashboard (protected)\n\n### Backend API Routes\n- \\`POST /api/auth/signup\\` - User registration\n- \\`POST /api/auth/login\\` - User login (implemented but no frontend)\n- \\`POST /api/auth/logout\\` - User logout\n- \\`GET /api/auth/me\\` - Get current user (protected)\n\n## Current Implementation Status\n\n### ✅ Completed Features\n1. **User Registration System**\n   - Multi-step signup form with validation\n   - Email format validation\n   - Password strength requirements\n   - Duplicate email prevention\n\n2. **Authentication \u0026 Security**\n   - JWT token-based authentication\n   - Secure password hashing with bcrypt\n   - HTTP-only cookies for token storage\n   - Protected routes middleware\n\n3. **User Interface**\n   - Modern, responsive design\n   - Light mode theme throughout\n   - Multi-step registration flow\n   - Professional dashboard layout\n   - Brand logo integration\n\n4. **Database Integration**\n   - MongoDB user model\n   - Proper schema validation\n   - Connection handling\n\n### 📋 Placeholder Features\n- Sign In functionality (backend exists, frontend is placeholder)\n- User profiles and bio management\n- Posts and feed system\n- Following/followers system\n\n## File Structure\n\\`\\`\\`\nSparrow/\n├── backend/\n│   ├── controllers/\n│   │   └── auth.controller.js\n│   ├── db/\n│   │   └── connectMongoDB.js\n│   ├── lib/\n│   │   └── utils/\n│   │       └── generateToken.js\n│   ├── middleware/\n│   │   └── protectRoute.js\n│   ├── models/\n│   │   └── user.model.js\n│   ├── routes/\n│   │   └── auth.routes.js\n│   └── server.js\n├── frontend/\n│   ├── src/\n│   │   ├── pages/\n│   │   │   ├── auth/\n│   │   │   │   ├── signup/\n│   │   │   │   └── login/\n│   │   │   ├── home/\n│   │   │   └── dashboard/\n│   │   ├── assets/\n│   │   │   └── images/\n│   │   ├── App.jsx\n│   │   └── main.jsx\n│   └── public/\n│       └── logo.png\n├── package.json\n└── .env.example\n\\`\\`\\`\n\n## Contributing\nThis is a feature branch focusing on the signup functionality. Future features like sign-in, posts, and user profiles can be implemented in separate branches.\n\n## License\nISC License","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodernayeem%2Fsparrow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodernayeem%2Fsparrow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodernayeem%2Fsparrow/lists"}