👨💻 Built by: Krish Bhalerao (@NoTKrisHisOp)
A full-stack web application that helps users select compatible PC components and build their ideal computer configuration with real-time compatibility checking and cost calculation.
🌟 View Project Showcase | 🔗 Live on GitHub
-
Visual Component Selection with Images: Card-based selection UI with images for each part and summary preview.
-
Live Price Comparison (Amazon/Flipkart): Compare current offers for each part via new endpoints. Works with mock data out of the box.
-
Component Selection: Choose from various PC components including:
- CPUs (Intel and AMD)
- Motherboards
- Memory (RAM)
- Graphics Cards
- Storage (SSD/HDD)
- Power Supplies
- Cases
-
Compatibility Checking: Automatic validation to ensure selected components are compatible with each other
-
Admin Panel: Administrative interface to manage components and view configurations (now supports image URLs)
-
Database Integration: SQLite database to store component information and user configurations
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js with Express.js
- Database: SQLite3
- Additional: CORS enabled for cross-origin requests; optional Amazon PA-API and Flipkart Affiliate API for pricing (via env).
-
Clone the repository:
git clone https://github.com/yourusername/pc-builder.git cd pc-builder -
Install dependencies:
npm install
-
Configure environment (optional but recommended):
- Copy
.env.exampleto.envand adjust values. - If you don't have Amazon/Flipkart API keys, leave them blank and keep
PRICE_MOCK=1for demo price comparisons.
- Copy
-
Start the server:
node backend/server.js
-
Open your browser and navigate to
http://localhost:3001
pc-builder/
├── frontend/
│ ├── index.html # Main user interface
│ ├── admin.html # Admin panel
│ ├── app.js # Frontend JavaScript
│ └── style.css # Styling
├── backend/
│ ├── server.js # Express server
│ ├── routes.js # API routes
│ └── database.js # Database operations
├── data/
│ ├── pcbuilder.db # SQLite database
│ ├── schema.sql # Database schema
│ └── compatibility.json # Component compatibility rules
└── README.md
GET /api/categories- List categoriesGET /api/components- List components (optional ?categoryId=)GET /api/components/:id- Get a componentPOST /api/components- Add new component (Admin; header x-admin-token)PUT /api/components/:id- Update component (Admin)DELETE /api/components/:id- Delete component (Admin)POST /api/build/validate- Validate a build (compatibility and budget)POST /api/build/suggest- Generate a suggested build for a budget/purposeGET /api/price-search?query=...- Search live prices by query (Amazon/Flipkart)GET /api/components/:id/prices- Search live prices by component name
- Visit the main page to start building your PC
- Select components from different categories
- The system will automatically check compatibility
- Save your configuration when complete
- Access the admin panel at
/admin.html - Add, edit, or remove components
- View and manage saved configurations
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
Krish Bhalerao Email: krishbhalerao9@gmail.com