This is the backend service for the Akademi Scholarship Management System. It handles user authentication, scholarship data management, reviews, and payment integration. The backend is built using Node.js, Express.js, MongoDB, and integrates with Stripe for payment processing.
-
User Management:
- Create, retrieve, update, and delete user data.
- Role-based access control (admin, moderator, user).
-
Scholarship Management:
- Add, update, retrieve, and delete scholarship information.
- Retrieve scholarships based on specific criteria (e.g., lowest application fees).
-
Review Management:
- Add, retrieve, update, and delete reviews for scholarships.
-
Payment Processing:
- Stripe integration for creating payment intents.
- Node.js: Backend runtime environment.
- Express.js: Web framework for API development.
- MongoDB: Database for storing application data.
- Stripe: Payment gateway for handling transactions.
- CORS: Enabled for cross-origin requests.
- Authentication:
- Admin routes require
verifyAdminmiddleware. - Authorized routes require
verifyAuthorizationmiddleware.
- Admin routes require
backend/
├── .env # Environment variables
├── node_modules/ # Dependencies
├── package.json # Project metadata and dependencies
├── index.js # Entry point for the server
├── vercel.json # Vercel configuration for hosting
└── README.md # Project documentation
To deploy the backend, follow these steps:
- Set up a cloud database (e.g., MongoDB Atlas).
- Configure your
.envfile with production credentials. - Deploy the application to a cloud provider (e.g., Vercel).