Welcome to the JPress repository! This project provides backend services for a job matching application, featuring user management, chat, notifications, offers, recommendations, and feedback for both clients and applicants.
- User Management: Manage roles for clients and applicants.
- Chat System: One-on-one messaging and video calls between users.
- Notifications: Real-time updates and alerts.
- Service Requests & Offers: Clients post requests and view offers from applicants.
- Recommendations: Suggest applicants based on requests.
- Feedback System: Clients rate and review service providers.
- Bookmarks: Allow users to bookmark offers they are interested in to revisit them later.
- Translation:The translation feature allows translation from various languages to English
- Languages: TypeScript / Node.js / JavaScript
- Database: MongoDB
- Framework: Express
- Tools: Swagger (API docs), Jest (unit testing), Socket.io, Passport, JWT
- Node.js / NPM
- MongoDB instance
-
Clone the Repository:
git clone https://github.com/JPress-IEEE/Backend.git cd Backend -
Install Dependencies:
npm install
-
Set Up Environment Variables:
Create a.envfile with:MONGO_URI= PUBLIC_KEY="" PRIVATE_KEY="" ACCESS_KEY_TTL="" REFRESH_KEY_TTL="" NODE_ENV= PORT= SALT_WORK_FACTOR= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= FACEBOOK_APP_ID= FACEBOOK_APP_SECRET= LINKEDIN_CLIENT_ID= LINKEDIN_CLIENT_SECRET= EMAIL_USER= EMAIL_PASS= EMAIL_SECRET= SESSION_SECRET= APP_NAME= -
Build and Start the Server:
npm run build npm run start
-
Run All Tests:
npm run test -
Run Specific Tests:
npm test -- <path-to-test-file>
-
Test Coverage Report:
npm run test:coverage
-
Debugging (Watch Mode):
npm test -- --watch
Access Swagger documentation at:
http://localhost:3000/api-docs
- Stripe & paypal Integration: Implement secure payment processing between clients and applicants. Ensure smooth financial transactions within the platform and introduce models to track payments and transaction history. Develop endpoints for initiating, confirming, and querying payments. Introduce payment notifications to alert users when payments are processed or confirmed.
We welcome contributions to JPress:
- Fork the Repository: Create a personal copy on GitHub.
- Create a Branch: Develop features or fixes in a new branch.
- Commit Changes: Write clear and detailed commit messages.
- Submit a Pull Request: Provide a clear description of the changes.
This project is licensed under the MIT License. See the LICENSE file for details.