Skip to content

ragab0/nabza-platform-api

Repository files navigation

NABZA Platform - Professional CV Builder API

Node.js Express.js MongoDB Amazon S3 OpenAPI Swagger UI Nodemailer Socket.IO Stripe PayPal Google AI

📖 Overview

NABZA Platform is a sophisticated AI-driven CV builder platform specifically designed for Arabic speakers, helping them create professional and customizable CVs with ease. This repository contains the backend API that powers the platform.

A STARTER VERSION, Schema - UML Diagrams

A STARTER VERSION, Use-case (routs) - UML Diagrams

🌟 Features

CV Management

  • AI-Powered Content Suggestions: Integration with OpenAI and Google AI models for smart CV content recommendations
  • File Storage: Secure file storage using Amazon S3 buckets

Authentication & Security

  • Comprehensive Auth System:
    • Social media integration (Google, LinkedIn)
    • Email verification
    • JWT-based authentication
    • Secure password handling with bcrypt
  • Security Features:
    • Rate limiting
    • CORS protection
    • XSS prevention
    • MongoDB injection protection
    • Helmet security headers

Payment Integration (TEMP)

  • Stripe integration:
  • PayPal integration:

Real-time Features

  • Chat System: Real-time communication using Socket.IO
  • Notifications: Instant notifications for (tell now):
    • Chat messages

Email System

  • Transactional Emails: Using Nodemailer for reliable email delivery
    • Email verification
    • Password reset instructions
    • Custom HTML templates with RTL support for Arabic content
    • Branded emails with نبذة platform identity

🚀 Technology Stack

Core

  • Runtime: Node.js
  • Framework: Express.js
  • Database: MongoDB with Mongoose ODM
  • Real-time: Socket.IO

AI & Machine Learning

  • OpenAI API
  • Google Generative AI (In case of OpenAI fails)

Cloud Services

  • Storage: Amazon S3 (Free Instance)
  • Deployment: Render (Free Instance)

Authentication

  • Passport.js
  • JWT
  • bcrypt

Payment Processing

  • Stripe API
  • PayPal SDK

Security

  • Helmet
  • Express Rate Limit
  • Express Mongo Sanitize
  • HPP (HTTP Parameter Pollution)
  • CORS

🔒 Security

The platform implements various security measures:

  • JWT-based authentication
  • Password hashing with bcrypt
  • Rate limiting for API endpoints
  • XSS protection
  • Security headers with Helmet
  • CORS configuration
  • MongoDB injection prevention

📚 API Documentation

Simple API documentation is available in OpenAPI/Swagger format:

  • Development: http://localhost:3000/api/v1/docs
  • Production: https://api.ragab.shop/api/v1/docs

🎯 Frontend Links

The frontend application is built with Next.js and is available: