RESTful backend API for managing products, users, orders, and payments
Core REST API for the RataCueva gaming ecommerce platform. Handles product CRUD, user authentication, order processing, payment integration, and image management via Cloudinary.
| Component | Repository | Stack |
|---|---|---|
| Backend API (this) | ratacueva-org/ratacueva-api | Express, TypeScript, MongoDB |
| Web App | ratacueva-org/ratacueva-web | Next.js, TypeScript, TailwindCSS |
- Product CRUD with categories and inventory management
- User authentication with JWT (JSON Web Tokens)
- Order processing and payment integration
- Image upload and management with Cloudinary
- Input validation with Zod
- Security headers with Helmet
- Rate limiting for API endpoints
- Swagger API documentation
- Node.js 18+
- npm or yarn
- MongoDB instance (local or Atlas)
git clone https://github.com/ratacueva-org/ratacueva-api.git
cd ratacueva-api
npm installCreate a .env file:
PORT=3000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
# Development
npm run dev
# Production
npm startThe API will be available at http://localhost:3000
├── config/ # Configuration files
├── core/ # Core application logic
├── modules/ # Feature modules
│ ├── products/ # Product management
│ ├── users/ # User management
│ ├── orders/ # Order processing
│ └── auth/ # Authentication
├── services/ # External services
├── docs/ # Documentation
└── index.ts # Entry point
Swagger documentation is available at /api-docs when the server is running.
Please read CONTRIBUTING.md for branch naming, commit conventions, and PR workflow.
This project is licensed under the GPL v3 — see the LICENSE file for details.
Authors:
- Serrano Puertos Jorge Christian
- Chavez Moreno Jose Eduardo
- Lopez Valdes Erick Ernesto
- Florentino Altamirano Misrael