{"id":27195283,"url":"https://github.com/tvatdci/signup-login-render","last_synced_at":"2025-06-27T22:06:44.792Z","repository":{"id":273722788,"uuid":"920652744","full_name":"TVATDCI/signup-login-render","owner":"TVATDCI","description":"A full-stack authentication project demonstrating secure user login and registration using email and password, JWT, and HTTP-only cookies. It features a React + Vite frontend, and an Express + MongoDB backend, structured and deployed on render.com.","archived":false,"fork":false,"pushed_at":"2025-05-15T13:29:42.000Z","size":603,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T14:23:54.052Z","etag":null,"topics":["axios","bry","cookie-parser","cors","deployed","deployment","express","jasonwebtoken","mongodb","reactjs","render"],"latest_commit_sha":null,"homepage":"https://signup-login-render.onrender.com","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/TVATDCI.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":"2025-01-22T14:39:35.000Z","updated_at":"2025-05-15T13:34:58.000Z","dependencies_parsed_at":"2025-01-22T16:25:20.692Z","dependency_job_id":"9b2775cb-7926-4429-92b5-28841061d719","html_url":"https://github.com/TVATDCI/signup-login-render","commit_stats":null,"previous_names":["tvatdci/signup-login-render"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TVATDCI/signup-login-render","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TVATDCI%2Fsignup-login-render","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TVATDCI%2Fsignup-login-render/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TVATDCI%2Fsignup-login-render/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TVATDCI%2Fsignup-login-render/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TVATDCI","download_url":"https://codeload.github.com/TVATDCI/signup-login-render/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TVATDCI%2Fsignup-login-render/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262341618,"owners_count":23296069,"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","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":["axios","bry","cookie-parser","cors","deployed","deployment","express","jasonwebtoken","mongodb","reactjs","render"],"created_at":"2025-04-09T19:45:18.594Z","updated_at":"2025-06-27T22:06:44.780Z","avatar_url":"https://github.com/TVATDCI.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Signup-Login-Render\n\nA full-stack authentication project demonstrating secure user login and registration using **email and password**, JWT, and HTTP-only cookies. It features a React + Vite frontend, and an Express + MongoDB backend, structured for clarity and deployment-ready via [Render.com](https://signup-login-render.onrender.com/).\n\n---\n\n### Current Login Method: Email \u0026 Password\n\nThis version uses **email-based authentication**.\n\nKey highlights:\n\n- JWT-based session management\n- Secure password hashing with bcrypt\n- HTTP-only cookies to prevent XSS\n- Protected routes and admin access\n- Modular backend structure\n- React frontend with feedback messages\n\n---\n\n### Prefer Username Login?\n\nSwitch to the [`feature/username-login`](https://github.com/TVATDCI/signup-login-render/tree/feature/username-login) branch for a version that uses **username-based login**.\n\n---\n\n### Table of Contents\n\n- [Signup-Login-Render](#signup-login-render)\n  - [Current Login Method: Email \\\u0026 Password](#current-login-method-email--password)\n  - [Prefer Username Login?](#prefer-username-login)\n  - [Table of Contents](#table-of-contents)\n  - [Features](#features)\n  - [Technologies Used](#technologies-used)\n    - [Frontend](#frontend)\n    - [Backend](#backend)\n    - [Installation](#installation)\n    - [Project Structure](#project-structure)\n\n---\n\n### Features\n\n- Email/password registration and login\n- JWT-based authentication with `httpOnly` cookies\n- Protected routes for authenticated users\n- Admin route access demonstration\n- Password hashing using `bcrypt`\n- Clear error/success alerts in UI\n- React frontend + Express backend separation\n\n---\n\n### Technologies Used\n\n#### Frontend\n\n- **React** – UI library\n- **Vite** – Build tool for lightning-fast development\n- **Material-UI** – Component styling\n- **Axios** – API communication\n- **React Router** – Frontend routing\n\n#### Backend\n\n- **Express** – Node.js web framework\n- **MongoDB** – Database\n- **Mongoose** – MongoDB ODM\n- **bcrypt** – Password hashing\n- **jsonwebtoken** – JWT handling\n- **cookie-parser** – Cookie middleware\n- **cors** – Cross-origin requests\n- **dotenv** – Environment variables\n\n---\n\n#### Installation\n\n1. **Clone the repository:**\n\n```bash\ngit clone https://github.com/TVATDCI/signup-login-render.git\ncd signup-login-render\n```\n\n2 **Install dependencies:**\n\n```bash\nnpm install\ncd client \u0026\u0026 npm install\n```\n\n3 **Run the frontend and backend:**\n\n```bash\n# From root\nnpm run client-dev\n# In another terminal\nnpm start\n```\n\n#### Project Structure\n\n```pgsql\nsignup-login-render/\n├── .env\n├── .gitignore\n├── README.md\n├── package.json\n├── server.js\n├── client/\n│   ├── vite.config.js\n│   ├── public/\n│   └── src/\n│       ├── App.jsx\n│       ├── App.css\n│       ├── Auth.jsx\n│       ├── index.css\n│       ├── main.jsx\n│       └── components/\n│           ├── Admin/\n│           │   └── Admin.jsx\n│           ├── Login/\n│           │   └── Login.jsx\n│           ├── Logout/\n│           │   └── Logout.jsx\n│           ├── NavBar/\n│           │   └── NavBar.jsx\n│           └── Register/\n│               └── Register.jsx\n├── controllers/\n│   └── user.js\n├── libs/\n│   ├── db.js\n│   └── jwt.js\n├── middleware/\n│   └── auth.js\n├── models/\n│   └── User.js\n└── routes/\n    └── userRoute.js\n```\n\nThanks for smiling ! :satisfied:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvatdci%2Fsignup-login-render","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftvatdci%2Fsignup-login-render","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvatdci%2Fsignup-login-render/lists"}