{"id":26397304,"url":"https://github.com/sharif-minhaz/fullstack-primereact-aws-crud","last_synced_at":"2025-06-29T17:07:43.299Z","repository":{"id":277953642,"uuid":"933994468","full_name":"Sharif-Minhaz/fullstack-primereact-aws-crud","owner":"Sharif-Minhaz","description":"This is a full-stack Todo App built with React (Vite) + PrimeReact on the frontend and Node.js (raw, no Express) + MySQL (raw SQL queries) + AWS on the backend. It allows users to create, update (including status changes), and delete todos with a structured API. 🚀","archived":false,"fork":false,"pushed_at":"2025-02-23T09:24:17.000Z","size":123,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T12:17:18.169Z","etag":null,"topics":["aws","aws-cognito","mysql2","nodejs","primeflex","primereact","s3-bucket","typescript"],"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/Sharif-Minhaz.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}},"created_at":"2025-02-17T05:11:21.000Z","updated_at":"2025-02-25T04:15:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ec7056c-82c3-481e-9b8e-4d7d19e95283","html_url":"https://github.com/Sharif-Minhaz/fullstack-primereact-aws-crud","commit_stats":null,"previous_names":["sharif-minhaz/fullstack-primereact-crud","sharif-minhaz/fullstack-primereact-aws-crud"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sharif-Minhaz/fullstack-primereact-aws-crud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharif-Minhaz%2Ffullstack-primereact-aws-crud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharif-Minhaz%2Ffullstack-primereact-aws-crud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharif-Minhaz%2Ffullstack-primereact-aws-crud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharif-Minhaz%2Ffullstack-primereact-aws-crud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sharif-Minhaz","download_url":"https://codeload.github.com/Sharif-Minhaz/fullstack-primereact-aws-crud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharif-Minhaz%2Ffullstack-primereact-aws-crud/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262632333,"owners_count":23340214,"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":["aws","aws-cognito","mysql2","nodejs","primeflex","primereact","s3-bucket","typescript"],"created_at":"2025-03-17T12:17:20.775Z","updated_at":"2025-06-29T17:07:43.010Z","avatar_url":"https://github.com/Sharif-Minhaz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Todo App - Full Stack Project\n\nThis is a full-stack **Todo App** built with:\n\n-   **Client** : React (Vite) + PrimeReact\n-   **Server** : Node.js (Raw Node.js, No Express) + MySQL (Raw SQL Queries)\n\n## 📂 Project Structure\n\n```\nproject-root/\n│── client/  # Frontend (React + Vite + PrimeReact)\n│   ├── src/\n│   │   ├── components/\n│   │   ├── assets/\n│   │   ├── hooks/\n│   │   ├── index.css\n│   │   ├── App.css\n│   │   ├── App.jsx\n│   │   ├── main.jsx\n│   ├── public/\n│   ├── index.html\n│   ├── vite.config.js\n│── server/  # Backend (Node.js + MySQL + AWS)\n│   ├── src/\n│   │   ├── config/db.js\n│   │   ├── models/todoModel.js\n│   │   ├── controllers/todoController.js\n│   │   ├── routes/todoRoutes.js\n│   │   ├── utils/responseHandler.js\n│   ├── server.js\n│── .gitignore\n│── package.json\n│── README.md\n```\n\n## 🚀 Getting Started\n\n### 1️⃣ Setup Backend (Server)\n\n1. **Navigate to the `server/` folder:**\n\n    ```sh\n    cd server\n    ```\n\n2. **Install dependencies:**\n\n    ```sh\n    npm install\n    ```\n\n3. **Create a `.env` file** in the `server/` directory and configure the database:\n\n    ```env\n     DB_HOST=localhost\n     DB_USER=root\n     DB_PASSWORD=\n     DB_NAME=\n\n     ALLOWED_ORIGIN=http://localhost:3000\n\n     AWS_REGION=\n\n     AWS_COGNITO_APP_ID=\n     AWS_COGNITO_APP_SECRET=\n     AWS_COGNITO_USER_POOL_ID=\n     AWS_COGNITO_DOMAIN=\n     AWS_COGNITO_REDIRECT_URI=http://localhost:8000/login\n     AWS_COGNITO_LOGIN_URL=\n     AWS_COGNITO_LOGOUT_URI=\n     AWS_COGNITO_FINAL_URI=http://localhost:3000\n     AWS_COGNITO_HOST_NAME=\n\n     AWS_S3_BUCKET_ACCESS_KEY_ID=\n     AWS_S3_BUCKET_SECRET_ACCESS_KEY=\n     AWS_S3_BUCKET_ARN=\n     AWS_S3_BUCKET_NAME=`\n    ```\n\n4. **Start the backend server:**\n\n    ```sh\n    npm run dev\n    ```\n\n### 2️⃣ Setup Frontend (Client)\n\n1. **Navigate to the `client/` folder:**\n    ```sh\n    cd client\n    ```\n2. **Install dependencies:**\n    ```sh\n    npm install\n    ```\n3. **Start the frontend server:**\n    ```sh\n    npm run dev\n    ```\n4. Open **[http://localhost:3000](http://localhost:3000/)** to see the app running.\n\n## 📌 API Endpoints\n\n| Method | Endpoint        | Description                                |\n| ------ | --------------- | ------------------------------------------ |\n| GET    | `/todos`        | Get all todos for logged in user           |\n| GET    | `/todos/:id`    | Get a specific todo                        |\n| POST   | `/todos`        | Create a new todo                          |\n| PUT    | `/todos/:id`    | Update a todo (title, description, status) |\n| DELETE | `/todos/:id`    | Delete a todo                              |\n| POST   | `/login`        | Log in the user                            |\n| GET    | `/auth/profile` | Get the current user's information         |\n| POST   | `/auth/logout`  | Log out the user                           |\n\n## 🎨 Frontend Tech Stack\n\n-   **Vite** : Fast development build tool\n-   **React** : Component-based UI\n-   **PrimeReact** : UI components for styling\n\n## 🛠 Backend Tech Stack\n\n-   **Node.js (Raw)** : No Express, handling requests manually\n-   **MySQL** : Database for storing todos\n-   **AWS**: Several Backend services\n\n## 🤝 Contributions\n\nFeel free to contribute by opening issues or pull requests!\n\n---\n\nMade with ❤️ by Sharif-Minhaz\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharif-minhaz%2Ffullstack-primereact-aws-crud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsharif-minhaz%2Ffullstack-primereact-aws-crud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharif-minhaz%2Ffullstack-primereact-aws-crud/lists"}