A comprehensive microservice-based school payment management system built with Node.js/Express backend and React.js frontend. This application provides seamless integration with payment gateways for managing school transactions, student payments, and administrative dashboards.
-
Frontend: https://ecolepay.vercel.app/?page=1
-
Backend API: https://ecolepay.onrender.com
-
π€akash.kevat@example.com / akash.kevat
-
π€jinn.chegg@example.com / jinn.chegg -SMALL CASE
- Features
- Tech Stack
- System Architecture
- Installation
- Environment Configuration
- API Documentation
- Payment Gateway Integration
- Database Schema
- Usage Examples
- Screenshots
- Contributing
- JWT-based Authentication with trustee and student roles
- Payment Gateway Integration with Edviron API
- Webhook Processing for real-time payment status updates
- MongoDB Integration with aggregation pipelines
- RESTful API with comprehensive error handling
- File Upload Support with Cloudinary integration
- Security Implementation with input validation
- Responsive Dashboard with transaction management
- Advanced Filtering & Sorting capabilities
- Pagination for large datasets
- Multi-select Filters for status and school IDs
- URL State Persistence for shareable views
- Modern UI/UX with Tailwind CSS
- Node.js with Express.js framework
- MongoDB Atlas for database
- Mongoose ODM for data modeling
- JWT for authentication
- Bcrypt for password hashing
- Multer & Cloudinary for file uploads
- Zod for input validation
- CORS for cross-origin requests
- React.js 19 with modern hooks
- Redux Toolkit for state management
- React Router DOM for navigation
- Axios for API communication
- Tailwind CSS for styling
- React Toastify for notifications
- Vite for build tooling
Import the provided Postman collection from postman_collection.json for comprehensive API testing.
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β React Client βββββΊβ Express API βββββΊβ MongoDB Atlas β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Payment Gateway β
β (Edviron) β
βββββββββββββββββββ
- Node.js (v18 or higher)
- npm or yarn
- MongoDB Atlas account
- Git
# Clone the repository
git clone <your-repo-url>
cd ecolepay/backend
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Edit .env with your credentials
# Start development server
npm run dev# Navigate to frontend directory
cd ../frontend
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Edit .env with your API endpoints
# Start development server
npm run dev
# Database
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/ecolepay
# JWT Configuration
JWT_SECRET=your-super-secret-key
JWT_EXPIRE=7d
# Payment Gateway (Edviron)
PG_KEY=edvtest01
API_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
SCHOOL_ID=65b0e6293e9f76a9694d84b4
PAYMENT_API_URL=https://dev-vanilla.edviron.com/erp
# Cloudinary (for file uploads)
CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret
# Server Configuration
PORT=5000
NODE_ENV=productionVITE_API_URL=https://ecolepay.onrender.com
VITE_APP_NAME=ΓcolePay
- Comprehensive Error Logging
- Webhook Event Tracking
- Payment Transaction Auditing
- User Activity Logs
- Connect GitHub repository to Render
- Configure environment variables
- Set build command:
npm install - Set start command:
npm start
- Connect GitHub repository to Vercel
- Configure environment variables
- Set build command:
npm run build - Set output directory:
dist
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and queries, please reach out to:
- Email: support@ecolepay.com
- Documentation: API Docs
- Issues: GitHub Issues
Built with β€οΈ for Educational Institutions