Project under EXSOLVIA - Excellence in Software Solutions
The KAMPYN Backend serves as the core infrastructure for our comprehensive food ordering and inventory management ecosystem designed for university campuses.
- Backend Framework: Node.js with Express.js
- Database: MongoDB with Mongoose ODM
- Authentication: JWT (JSON Web Token)
- Real-Time Communication: Socket.io
- Caching: Redis
- Payment Gateway: Razorpay
- Email Service: Nodemailer
- Multi-role authentication (Users, Admins, Vendors, Universities)
- Real-time order processing and tracking
- Intelligent inventory management
- Secure payment integration
- Advanced notification system
- Comprehensive analytics and reporting
- Node.js (v18 or higher)
- MongoDB database
- Redis server (optional)
# Clone repository
git clone https://github.com/exsolvia/kampyn-backend.git
cd kampyn-backend
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your configuration
# Start development server
npm run devServer will start on http://localhost:5001
# User Registration
POST /api/user/auth/signup
{
"fullName": "John Doe",
"email": "[email protected]",
"phone": "1234567890",
"password": "password123",
"gender": "male",
"uniID": "university_id"
}
# User Login
POST /api/user/auth/login
{
"identifier": "[email protected]",
"password": "password123"
}# Place Order
POST /api/orders
{
"userId": "user_id",
"items": [...],
"vendorId": "vendor_id",
"orderType": "dinein"
}
# Get Order Status
GET /api/orders/:orderIdPORT=5001
MONGO_URL=your_mongodb_uri
JWT_SECRET=your_secret_key
REDIS_URL=your_redis_url
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_KEY_SECRET=your_razorpay_key_secret
EMAIL_USER=your_email
EMAIL_PASS=your_email_password- Features:
feature/feature-description - Bug Fixes:
fix/bug-description - Hotfixes:
hotfix/critical-fix-description
# Feature development
git commit -m "feat: implement user authentication system"
# Bug fixes
git commit -m "fix: resolve payment validation issue"
# Documentation updates
git commit -m "docs: update API documentation"
# Code refactoring
git commit -m "refactor: improve order processing logic"
# Performance improvements
git commit -m "perf: optimize database queries"- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'feat: add new feature') - Push to your branch (
git push origin feature/your-feature) - Open a pull request
This project is licensed under the MIT License.
- Contact: [email protected]
© 2025 EXSOLVIA. All rights reserved.