{"id":25519454,"url":"https://github.com/hainam1408/milkshare-api","last_synced_at":"2026-04-10T14:37:31.178Z","repository":{"id":277974806,"uuid":"934105697","full_name":"HaiNam1408/milkshare-api","owner":"HaiNam1408","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-17T10:13:28.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-17T10:29:38.634Z","etag":null,"topics":["cloudflare-r2","express","firebase-ad","multer","nodejs","postgresql","socket-io"],"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/HaiNam1408.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-17T09:33:29.000Z","updated_at":"2025-02-17T10:13:32.000Z","dependencies_parsed_at":"2025-02-17T10:40:28.884Z","dependency_job_id":null,"html_url":"https://github.com/HaiNam1408/milkshare-api","commit_stats":null,"previous_names":["hainam1408/milkshare-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaiNam1408%2Fmilkshare-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaiNam1408%2Fmilkshare-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaiNam1408%2Fmilkshare-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaiNam1408%2Fmilkshare-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HaiNam1408","download_url":"https://codeload.github.com/HaiNam1408/milkshare-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239699581,"owners_count":19682575,"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":["cloudflare-r2","express","firebase-ad","multer","nodejs","postgresql","socket-io"],"created_at":"2025-02-19T17:19:41.240Z","updated_at":"2025-12-30T19:20:43.233Z","avatar_url":"https://github.com/HaiNam1408.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mia Milkshare API\n\n## 📌 Introduction\nMia Milkshare API is a backend system built with **Node.js** and **Express.js** to provide APIs for the Mia Milkshare application. The project utilizes **Sequelize** as an ORM and supports **PostgreSQL** as the primary database.\n\n## 🚀 Technologies Used\n- **Node.js** - JavaScript runtime environment\n- **Express.js** - Backend framework for Node.js\n- **Sequelize** - ORM for managing PostgreSQL database\n- **PostgreSQL** - Relational database management system\n- **JWT (JSON Web Token)** - Authentication and authorization\n- **Socket.io** - Real-time communication support\n- **Multer** - File upload management\n- **Firebase Admin** - Push notification support\n- **Cloudflare R2** - Cloud file storage\n\n## 📂 Project Structure\n```\n📦 mia_milkshare_api\n ┣ 📂 config/            # Environment and database configuration\n ┣ 📂 controllers/       # API logic controllers\n ┣ 📂 middlewares/       # Middleware for request handling\n ┣ 📂 models/            # Sequelize models\n ┣ 📂 routes/            # API route definitions\n ┣ 📂 services/          # Business logic processing\n ┣ 📂 utils/             # Utility functions\n ┣ 📜 server.js          # Application entry point\n ┣ 📜 .env               # Environment configuration\n ┣ 📜 package.json       # Dependency management\n```\n\n## ⚙️ Installation \u0026 Running the Application\n### 1️⃣ Clone the Repository\n```sh\ngit clone https://github.com/yourusername/mia_milkshare_api.git\ncd mia_milkshare_api\n```\n\n### 2️⃣ Install Dependencies\n```sh\nnpm install\n```\n\n### 3️⃣ Configure Environment Variables\nCreate a `.env` file based on `.env.example` and update the configuration:\n```env\nPORT=5000\nDATABASE_URL=postgres://user:password@localhost:5432/mia_milkshare_db\nJWT_SECRET=your_secret_key\n```\n\n### 4️⃣ Run Database Migrations\n```sh\nnpm run db:migrate\n```\n\n### 5️⃣ Start the Server\n```sh\nnpm run dev   # Run in development mode\nnpm start     # Run in production mode\n```\n\n## 📌 API Documentation\nSwagger is integrated to provide API documentation.\n- After running the server, visit **[http://localhost:5000/api-docs](http://localhost:5000/api-docs)** to access the API documentation.\n\n## 📡 WebSocket Support\nThe application supports **Socket.io** for real-time features like chat or notifications.\n\n## ✨ Key Features\n✅ User account management (registration, login, JWT authentication)\n✅ Post, comment, and favorite management\n✅ File upload support via Cloudflare R2\n✅ Push notification support via Firebase\n✅ Real-time communication with Socket.io\n\n## 🛠️ Dev Tools \u0026 Debugging\n- **Morgan** - Request logging\n- **Nodemon** - Auto-restart server on code changes\n- **Postman** - Manual API testing\n- **Sequelize CLI** - Database migrations management\n\n## 🤝 Contribution\nIf you want to contribute to the project, fork this repository and create a pull request.\n\n## 📄 License\nThis project is released under the **ISC License**.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhainam1408%2Fmilkshare-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhainam1408%2Fmilkshare-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhainam1408%2Fmilkshare-api/lists"}