Node Shop is a shopping application where users can buy and sell products. This dynamic static site is built with a variety of powerful technologies and services to provide a seamless shopping experience.
- ExpressJS: Serves as the web application framework.
- EJS: Used as the template engine for server-side rendering.
- AWS S3: Provides file storage capabilities.
- Stripe: Integrates payment processing.
- MongoDB: Acts as the primary database.
- PDFKit: Used for invoice generation.
- Security: Helmet is used to secure HTTP headers.
- Validation: Express-validator ensures robust request validation.
- Session Management: Express-session with Redis for session management.
- Template Engine: EJS is used for server-side rendering.
- PDF Generation: PDFKit enables dynamic PDF creation.
- Development Tools: Nodemon for automatic server restarts during development.
- Dynamic Static Site: Combines the best of both static and dynamic web technologies.
- Buy and Sell: Allows users to list products for sale and make purchases.
- File Storage: Utilizes AWS S3 for storing product images and other files.
- Payment Integration: Processes payments securely with Stripe.
- Database Management: Uses MongoDB to manage product listings, user data, and transactions.
- Invoice Generation: Generates PDF invoices for purchases using PDFKit.
To get started, clone the repository and install the dependencies:
git clone https://github.com/yuvrajgupta010/nodejs_backend.git
cd nodejs_backend
yarn install
Add .env file with own keys:
# DB related
MONGO_DB_USERNAME=
MONGO_DB_PASSWORD=
# Email related
SENDGRID_API_KEY=
EMAIL_ADDRESS=
# Stripe related
STRIPE_SECERT_API_KEY=
#AWS related
AWS_ACCESS_KEY=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
AWS_BUCKET_NAME=
To start the server in development mode:
npm run start:dev
To start the server in production mode:
npm start
After server start, just to check the start successfully Open up your browser and just go on localhost:8080/health-check