{"id":18068401,"url":"https://github.com/12pavani/inventory_management_project","last_synced_at":"2026-02-12T07:06:51.888Z","repository":{"id":259369124,"uuid":"877688792","full_name":"12pavani/inventory_management_project","owner":"12pavani","description":"An efficient Inventory Management App built with FastAPI for the backend and React.js for the frontend. This application provides users with a seamless interface to manage inventory, featuring real-time updates, intuitive CRUD operations, and streamlined navigation.","archived":false,"fork":false,"pushed_at":"2025-03-10T16:39:08.000Z","size":250,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T00:51:21.538Z","etag":null,"topics":["crud","fastapi","inventory-management","reactjs","real-time","web-development"],"latest_commit_sha":null,"homepage":"https://inventory-management-frontend-5bio.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/12pavani.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-10-24T04:29:08.000Z","updated_at":"2025-03-11T08:40:43.000Z","dependencies_parsed_at":"2024-10-25T02:10:49.265Z","dependency_job_id":null,"html_url":"https://github.com/12pavani/inventory_management_project","commit_stats":null,"previous_names":["12pavani/inventory_management_project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/12pavani/inventory_management_project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12pavani%2Finventory_management_project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12pavani%2Finventory_management_project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12pavani%2Finventory_management_project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12pavani%2Finventory_management_project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/12pavani","download_url":"https://codeload.github.com/12pavani/inventory_management_project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12pavani%2Finventory_management_project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29360765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"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":["crud","fastapi","inventory-management","reactjs","real-time","web-development"],"created_at":"2024-10-31T08:06:19.063Z","updated_at":"2026-02-12T07:06:51.868Z","avatar_url":"https://github.com/12pavani.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\n\u003ch1\u003e📦 Inventory Management System\u003c/h1\u003e\n\n\u003cp\u003eA full-stack inventory management application built with FastAPI and React, deployed on Render. This system helps businesses manage their inventory, track products, and communicate with suppliers efficiently.\u003c/p\u003e\n\n\u003ch2\u003e🌐 Live Demo\u003c/h2\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eFrontend:\u003c/strong\u003e \u003ca href=\"https://inventory-management-frontend-5bio.onrender.com\"\u003ehttps://inventory-management-frontend-5bio.onrender.com\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eBackend API:\u003c/strong\u003e \u003ca href=\"https://inventory-management-app-backend-new.onrender.com\"\u003ehttps://inventory-management-backend-ppyt.onrender.com\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e✨ Features\u003c/h2\u003e\n\n\u003ch3\u003eProduct Management\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eAdd, edit, and delete products\u003c/li\u003e\n    \u003cli\u003eTrack quantity in stock and quantity sold\u003c/li\u003e\n    \u003cli\u003eAutomatic revenue calculation\u003c/li\u003e\n    \u003cli\u003eReal-time product search\u003c/li\u003e\n    \u003cli\u003eProduct count display\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eSupplier Management\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eManage supplier information\u003c/li\u003e\n    \u003cli\u003eEmail communication system\u003c/li\u003e\n    \u003cli\u003eLink products to suppliers\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eUser Interface\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eResponsive Bootstrap design\u003c/li\u003e\n    \u003cli\u003eNavigation bar with product counter\u003c/li\u003e\n    \u003cli\u003eSearch functionality\u003c/li\u003e\n    \u003cli\u003eInteractive forms with validation\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e🛠️ Tech Stack\u003c/h2\u003e\n\n\u003ch3\u003eBackend\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eFastAPI\u003c/li\u003e\n    \u003cli\u003eTortoise ORM\u003c/li\u003e\n    \u003cli\u003ePostgreSQL\u003c/li\u003e\n    \u003cli\u003eFastAPI-Mail\u003c/li\u003e\n    \u003cli\u003ePython 3.8+\u003c/li\u003e\n    \u003cli\u003eCORS enabled for cross-origin requests\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eFrontend\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eReact\u003c/li\u003e\n    \u003cli\u003eReact Bootstrap\u003c/li\u003e\n    \u003cli\u003eReact Router\u003c/li\u003e\n    \u003cli\u003eContext API for state management\u003c/li\u003e\n    \u003cli\u003eReact Hooks\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e💻 Components Structure\u003c/h2\u003e\n\n\u003ch3\u003eContext Components\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e- ProductContext.js  // Manages global product state\n- SupplierContext.js // Manages supplier information\n- UpdateContext.js   // Handles product updates\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3\u003eUI Components\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e- NavBar.js       // Navigation with search and product counter\n- AddProducts.js  // Product addition form\n- ProductRows.js  // Display and manage products\n- ProductsTable.js  // Displays the table of products\n- SupplierPage.js   // Manages supplier interactions\n- UpdateProducts.js // Form for updating product information\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3\u003eBackend Components\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e- app.py          // Application entry point\n- models.py       // Defines database models\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2\u003e🚀 Local Development Setup\u003c/h2\u003e\n\n\u003ch3\u003eBackend Setup\u003c/h3\u003e\n\n1. Clone the repository\n\u003cpre\u003e\u003ccode\u003egit clone\ncd inventory-management\u003c/code\u003e\u003c/pre\u003e\n\n2. Create virtual environment\n\u003cpre\u003e\u003ccode\u003epython -m venv venv\nsource venv/bin/activate  # Windows: venv\\Scripts\\activate\u003c/code\u003e\u003c/pre\u003e\n\n3. Install dependencies\n\u003cpre\u003e\u003ccode\u003epip install fastapi uvicorn tortoise-orm fastapi-mail python-dotenv\u003c/code\u003e\u003c/pre\u003e\n\n4. Set up environment variables (.env)\n\u003cpre\u003e\u003ccode\u003eEMAIL=your-email@gmail.com\nPASS=your-email-password\nDATABASE_URL=postgresql://username:password@localhost:5432/dbname\u003c/code\u003e\u003c/pre\u003e\n\n5. Run development server\n\u003cpre\u003e\u003ccode\u003euvicorn app:app --reload --port 8000\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3\u003eFrontend Setup\u003c/h3\u003e\n\n1. Navigate to frontend directory\n\u003cpre\u003e\u003ccode\u003ecd frontend\u003c/code\u003e\u003c/pre\u003e\n\n2. Install dependencies\n\u003cpre\u003e\u003ccode\u003enpm install\u003c/code\u003e\u003c/pre\u003e\n\n3. Set up environment variables (.env)\n\u003cpre\u003e\u003ccode\u003eREACT_APP_API_URL=http://localhost:8000\u003c/code\u003e\u003c/pre\u003e\n\n4. Start development server\n\u003cpre\u003e\u003ccode\u003enpm start\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2\u003e📡 API Endpoints\u003c/h2\u003e\n\n\u003ch3\u003eProducts\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003eGET /product         - List all products\nGET /product/{id}    - Get product details\nPOST /product/{supplier_id} - Create product\nPUT /product/{id}    - Update product\nDELETE /product/{id} - Delete product\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3\u003eSuppliers\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003eGET /supplier        - List suppliers\nPOST /supplier       - Add supplier\nPUT /supplier/{id}   - Update supplier\nDELETE /supplier/{id}- Delete supplier\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3\u003eEmail\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003ePOST /email/{product_id} - Send supplier email\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2\u003e📊 Data Models\u003c/h2\u003e\n\n\u003ch3\u003eProduct Model\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e{\n    id: number;\n    name: string;\n    quantity_in_stock: number;\n    quantity_sold: number;\n    unit_price: number;\n    revenue: number;\n    supplied_by: number;\n}\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3\u003eSupplier Model\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e{\n    id: number;\n    name: string;\n    company: string;\n    email: string;\n    phone: string;\n}\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2\u003e🔄 State Management Example\u003c/h2\u003e\n\u003cpre\u003e\u003ccode\u003e// Product Context Usage\nconst [Products, setProducts] = useContext(ProductContext);\n\n// Update Product\nconst updateForm = (e) =\u003e {\n    setProductInfo({\n        ...productInfo,\n        [e.target.name]: e.target.value\n    });\n};\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2\u003e🚀 Deployment\u003c/h2\u003e\n\n\u003ch3\u003eBackend Deployment\u003c/h3\u003e\n\u003col\u003e\n    \u003cli\u003eCreate a new Web Service on Render\u003c/li\u003e\n    \u003cli\u003eConnect your GitHub repository\u003c/li\u003e\n    \u003cli\u003eConfigure environment variables:\n        \u003cul\u003e\n            \u003cli\u003eDATABASE_URL\u003c/li\u003e\n            \u003cli\u003eEMAIL\u003c/li\u003e\n            \u003cli\u003ePASS\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003eSet build command: \u003ccode\u003epip install -r requirements.txt\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003eSet start command: \u003ccode\u003euvicorn app:app --host 0.0.0.0 --port $PORT\u003c/code\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch3\u003eFrontend Deployment\u003c/h3\u003e\n\u003col\u003e\n    \u003cli\u003eCreate a new Static Site on Render\u003c/li\u003e\n    \u003cli\u003eConnect your GitHub repository\u003c/li\u003e\n    \u003cli\u003eSet build command: \u003ccode\u003enpm install \u0026\u0026 npm run build\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003eSet publish directory: \u003ccode\u003ebuild\u003c/code\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2\u003e🔐 Security Features\u003c/h2\u003e\n\u003cul\u003e\n    \u003cli\u003eCORS configuration for specified origins\u003c/li\u003e\n    \u003cli\u003eEnvironment variables for sensitive data\u003c/li\u003e\n    \u003cli\u003eEmail authentication\u003c/li\u003e\n    \u003cli\u003eInput validation\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e🐛 Troubleshooting\u003c/h2\u003e\nCommon issues and solutions:\n\u003cul\u003e\n    \u003cli\u003eCORS errors: Check if your domain is added to the allowed origins\u003c/li\u003e\n    \u003cli\u003eDatabase connection: Verify PostgreSQL connection string\u003c/li\u003e\n    \u003cli\u003eEmail sending failures: Check email credentials\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e📱 Responsive Design\u003c/h2\u003e\nThe application is fully responsive and tested on:\n\u003cul\u003e\n    \u003cli\u003eDesktop (1200px+)\u003c/li\u003e\n    \u003cli\u003eTablet (768px - 1199px)\u003c/li\u003e\n    \u003cli\u003eMobile (320px - 767px)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e🤝 Contributing\u003c/h2\u003e\n\u003col\u003e\n    \u003cli\u003eFork the repository\u003c/li\u003e\n    \u003cli\u003eCreate your feature branch\u003c/li\u003e\n    \u003cli\u003eCommit your changes\u003c/li\u003e\n    \u003cli\u003ePush to the branch\u003c/li\u003e\n    \u003cli\u003eCreate a Pull Request\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2\u003e📄 License\u003c/h2\u003e\n\u003cp\u003eThis project is licensed under the MIT License.\u003c/p\u003e\n\n\u003cp\u003eMade with ❤️ using FastAPI and React by Vislavath Pavani\u003c/p\u003e\n\n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F12pavani%2Finventory_management_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F12pavani%2Finventory_management_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F12pavani%2Finventory_management_project/lists"}