A full-stack e-commerce platform built with the MERN (MongoDB, Express.js, React/Next.js, Node.js) stack.
PHNMN is a modern e-commerce platform that provides a seamless shopping experience with features like user authentication, product catalog management, shopping cart functionality, secure payments via Stripe, and order processing.
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT Authentication
- Stripe Payment Integration
- Swagger API Documentation
- Next.js 15.4
- React 19.1
- Redux Toolkit for state management
- Material-UI components
- Stripe React components
- Axios for API calls
- Node.js (v16 or higher)
- MongoDB instance
- Stripe account for payments
-
Clone the repository:
git clone https://github.com/yourusername/PHNMN.git cd PHNMN -
Backend setup:
cd api npm install cp .env.example .env # Configure your environment variables npm run dev
-
Frontend setup:
cd client npm install cp .env.example .env # Configure your environment variables npm run dev
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
STRIPE_SECRET_KEY=your_stripe_secret_key
NEXT_PUBLIC_API_URL=http://localhost:5000/api
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
- User authentication and authorization
- Product catalog with categories
- Shopping cart functionality
- Secure payment processing
- Order management
- User profile management
- Responsive design
- API documentation with Swagger
The API documentation is available at:
- Development: http://localhost:5000/api-docs
- Production: https://phnmn.onrender.com/api-docs
The backend is deployed on Render.com.
The frontend is deployed using Vercel Platform. For deployment instructions, refer to the Next.js deployment documentation.
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For support, email support@phnmn.com or create an issue in the repository.