{"id":19552497,"url":"https://github.com/nadim-nion/warehouse-server","last_synced_at":"2026-04-13T14:32:58.094Z","repository":{"id":236534209,"uuid":"792796819","full_name":"Nadim-Nion/warehouse-server","owner":"Nadim-Nion","description":"BooksHive Server: MERN stack backend for warehouse inventory. Auth, CRUD ops, protected routes, email verification, responsive design.","archived":false,"fork":false,"pushed_at":"2024-05-10T18:30:42.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T07:18:58.385Z","etag":null,"topics":["crud-operation","express-js","jwt-authorization","mongodb-atlas","node-js"],"latest_commit_sha":null,"homepage":"https://warehouse-server-zeta.vercel.app/","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/Nadim-Nion.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":"2024-04-27T15:54:45.000Z","updated_at":"2024-05-10T18:41:07.000Z","dependencies_parsed_at":"2025-01-08T20:31:30.571Z","dependency_job_id":"b9c4a309-679e-4ff2-bc6c-983278cf4c41","html_url":"https://github.com/Nadim-Nion/warehouse-server","commit_stats":null,"previous_names":["nadim-nion/warehouse-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nadim-Nion/warehouse-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nadim-Nion%2Fwarehouse-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nadim-Nion%2Fwarehouse-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nadim-Nion%2Fwarehouse-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nadim-Nion%2Fwarehouse-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nadim-Nion","download_url":"https://codeload.github.com/Nadim-Nion/warehouse-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nadim-Nion%2Fwarehouse-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31757477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T13:27:56.013Z","status":"ssl_error","status_checked_at":"2026-04-13T13:21:23.512Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["crud-operation","express-js","jwt-authorization","mongodb-atlas","node-js"],"created_at":"2024-11-11T04:18:43.512Z","updated_at":"2026-04-13T14:32:58.071Z","avatar_url":"https://github.com/Nadim-Nion.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BooksHive (Server Side)\n\n## Warehouse or Inventory Management Website\n\n\n### Description:\nBooksHive is a MERN stack project focusing on managing an inventory of books. This repository contains the server-side implementation of the project, handling backend functionalities such as database interactions, authentication, and API endpoints.\n\n### Key Features \u0026 Functionalities:\n- **MongoDB Integration**: Utilizes MongoDB to store inventory data, user information, and newly added books.\n- **User Authentication**: Implements email/password-based authentication along with social login (Google, Facebook) using JWT tokens.\n- **Protected Routes**: Utilizes JWT tokens to protect private routes like inventory details and manage items.\n- **Inventory Management**: CRUD operations for managing inventory items, including updating quantity, deleting items, and adding new items.\n- **Detailed Item Views**: Provides detailed views of inventory items with options to update quantity and view supplier information.\n- **Pagination for Books**: API endpoints support pagination to retrieve books in batches.\n- **Email Verification**: Basic implementation of email verification (email may go to spam folder).\n- **Error Handling**: Displays errors for incorrect login credentials and utilizes meaningful error messages throughout the application.\n- **Responsive Design**: Ensures the website is responsive and optimized for desktop and mobile devices.\n- **Blog Section**: Includes a non-protected route for answering questions related to JavaScript, Node.js, MongoDB, SQL vs NoSQL, and JWT.\n- **Meaningful 404 Page**: Implements a custom 404 page for handling page-not-found scenarios.\n\n### API Endpoints:\n- `GET /books/all`: Retrieves all books with pagination support.\n- `GET /booksCount`: Gets the total count of books in the collection.\n- `GET /books/first-six`: Retrieves the first six books.\n- `GET /books/:id`: Retrieves a specific book by its ID.\n- `POST /books/:id/delivered`: Decreases the quantity of a book after delivery.\n- `POST /books/:id/restock`: Increases the quantity of a book after restocking.\n- `DELETE /books/:id`: Deletes a book from the inventory.\n- `GET /newAddedBooks`: Retrieves newly added books by user email.\n- `POST /newAddedBooks`: Adds a new book to the user's collection.\n- `GET /newAddedBooks/:id`: Retrieves a specific newly added book by ID.\n- `DELETE /newAddedBooks/:id`: Deletes a newly added book from the user's collection.\n\n### Tech Stack\n\n- **Node.js**: Server-side JavaScript runtime environment.\n- **Express.js**: Web framework for Node.js.\n- **MongoDB**: NoSQL database for data storage.\n- **JWT (JSON Web Tokens)**: Token-based authentication mechanism.\n- **Axios**: HTTP client for making requests to backend API.\n- **dotenv**: Module for loading environment variables.\n\n### Additional Notes:\n- Organized and clean code structure.\n- Environment variables used for sensitive information.\n- Implements JWT token-based authentication for user sessions.\n- Ensures data integrity and security with MongoDB integration.\n\n## Backend API Deployment\n\n* Vercel: https://warehouse-server-zeta.vercel.app/\n## Getting Startted\n\n### Prerequisites\n\n- Node.js installed on your local machine.\n- MongoDB instance (local or cloud-based) for data storage.\n- SMTP service credentials for sending emails (e.g., Gmail SMTP).\n\n## Installation\n\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/yourusername/bookshive-server.git\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   cd bookshive-server\n   npm install\n   ```\n\n3. Set up environment variables:\n\n   Create a `.env` file in the root directory with the following variables:\n\n   ```plaintext\n   PORT=3000\n   MONGODB_URI=\u003cyour_mongodb_connection_string\u003e\n   JWT_SECRET=\u003cyour_jwt_secret_key\u003e\n   SMTP_HOST=\u003csmtp_host\u003e\n   SMTP_PORT=\u003csmtp_port\u003e\n   SMTP_USER=\u003csmtp_username\u003e\n   SMTP_PASS=\u003csmtp_password\u003e\n   ```\n\n4. Start the server:\n\n   ```bash\n   npm start\n   ```Absolutely, here's the section on commits with a potential improvement:\n\n## Commits\n\nThis repository adheres to a structured commit message convention to enhance readability and maintainability. Here's an overview of the key commit types:\n\n- **feat:** Introduces a new feature to the application.\n- **fix:** Addresses a bug or issue identified in the codebase.\n- **docs:** Encompasses changes made to documentation, such as updates, additions, or corrections.\n- **style:** Covers formatting adjustments, whitespace changes, or fixing minor inconsistencies like missing semicolons.\n- **refactor:** Represents code structure improvements without altering functionality. This can involve code organization, renaming variables or functions, or improving readability.\n- **test:** Introduces new tests or updates existing tests to ensure code quality and maintainability.\n- **chore:** Encompasses changes that don't directly affect the application's functionality, such as updating build tasks, package manager configurations, or dependency versions.\n\n**Optional Improvement:**\n\nConsider adopting a more comprehensive commit message convention like Conventional Commits ([https://www.conventionalcommits.org/en/v1.0.0-beta.4/](https://www.conventionalcommits.org/en/v1.0.0-beta.4/)). This approach provides a standard format for commit messages, including type, scope (optional), and a clear description of the change, making it easier to generate changelogs, automate workflows, and collaborate effectively.\n\nBy following these guidelines and potentially adopting a more detailed convention, you'll ensure clear and consistent commit messages that benefit you and your team in the long run.\n## Contributing\n\nContributions are always welcome!\n\nContributions are welcome! Please open a pull request for any improvements or features.\n\nPlease adhere to this project's `code of conduct`.\n\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n\n## Deployment\n\nTo deploy this project run\n\n```bash\ngit init\ngit add .\ngit commit -m \"first commit\"\ngit branch -M main\ngit remote add origin https://github.com/Nadim-Nion/warehouse-server.git\ngit push -u origin main\n\n```\n\n\n## Tech Stack\n\n**Client:** React+Vite, React Router, Firebase (Authentication \u0026 Hosting), Tailwind CSS, Daisy UI, Axios JS\n\n**Server:** Express.js, Node.js, JWT\n\n**Database:** MongoDB\n\n**Tools:** Vite, Vercel, npm, Surge, Netlify\n\n**State Management:** Context API\n\n\n\n## FAQ\n\n#### Is this website reponsible?\n\nAnswer : Yes, the full website is responsive for the all devices (Desktop, Tablet and Phone)\n\n#### Is this website store data to the database?\n\nAnswer : I have stored all the data in MongoDB.\n\n## 🚀 About Me\nHi, I am Nadim Mahmud Nion. I have recently concluded my graduation from the department of Computer Science and Engineering (CSE) at the Daffodil International University (DIU). I have been learning MERN Stack Web Development since 2022. I am expertise in the following skills:\n\n* React\n\n* Express.js \n\n* Node.js \n\n* MongoDB\n\n* JWT\n\n* Vite\n\n* React Router\n\n* Firebase (Authentication \u0026 Hosting)\n\n* Vercel\n\n* JavaScript\n\n* Advanced JavaScript\n\n* Daisy UI \n\n* Bootstrap\n\n* Tailwind\n\n* HTML5\n\n* CSS3\n\n* Media Query\n\nI have built multiple projects using these skills. You are invited to my GitHub profile to know about my projects and don't forget to give a star to my projects.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnadim-nion%2Fwarehouse-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnadim-nion%2Fwarehouse-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnadim-nion%2Fwarehouse-server/lists"}