https://github.com/nidhiyashwanth/repaysync
https://github.com/nidhiyashwanth/repaysync
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nidhiyashwanth/repaysync
- Owner: nidhiyashwanth
- Created: 2025-03-27T19:01:07.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-04-06T18:24:13.000Z (about 2 months ago)
- Last Synced: 2025-04-06T19:29:12.366Z (about 2 months ago)
- Language: Python
- Size: 114 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RepaySync
RepaySync is a Django-based system that centralizes customer interaction tracking between field collection teams and central calling teams for lending companies.
## Key Features
- **Hierarchical Role-Based Access Control**:
- Super Managers: Full system access
- Managers: Access to officers reporting to them (tree structure)
- Collection Officers: Access to assigned customers only
- Calling Agents: View all customers, add interactions- **Customer Management**:
- Customer profiles with branch and EMI paid status
- Officer assignment
- History of all interactions- **Loan Processing**:
- Create and manage loans
- Loan approval workflow
- Payment tracking
- Loan restructuring and write-offs- **Interactions**:
- Record customer interactions (calls, visits)
- Immutable history (interactions cannot be edited once created)
- Schedule and track follow-ups## Technology Stack
- Backend: Django 5.1 with Django REST Framework
- Database: PostgreSQL
- Authentication: JWT
- Containerization: Docker and Docker Compose## Getting Started
### Prerequisites
- Docker and Docker Compose
- Git### Installation with Docker
1. Clone the repository:
```bash
git clone https://github.com/yourusername/RepaySync.git
cd RepaySync
```2. Start the application with Docker Compose:
```bash
docker-compose up -d
```3. Create a superuser:
```bash
docker-compose exec web python manage.py createsuperuser
```4. Access the application:
- Admin interface: http://localhost:8000/admin/
- API documentation: http://localhost:8000/api/docs/### Local Development Setup
1. Clone the repository:
```bash
git clone https://github.com/yourusername/RepaySync.git
cd RepaySync
```2. Create and activate a virtual environment:
```bash
python -m venv venv
source venv/Scripts/activate # Windows
# source venv/bin/activate # Linux/Mac
```3. Install dependencies:
```bash
pip install -r requirements.txt
```4. Configure the environment variables (see `.env.example`).
5. Run migrations:
```bash
python manage.py migrate
```6. Create a superuser:
```bash
python manage.py createsuperuser
```7. Start the development server:
```bash
python manage.py runserver
```## Usage
See the detailed walkthrough in [walkthrough.md](walkthrough.md) for step-by-step instructions on how to use the system.
## API Documentation
- API endpoints are documented using Swagger and available at `/api/docs/`
- Authentication is handled via JWT tokens## Implementation Notes
- Customer interactions are immutable records (cannot be edited/deleted once created)
- Hierarchical access is implemented as a tree structure where managers can see customers of officers reporting to them
- Customer EMI paid status can be updated by both field collection team and calling team## Testing
Run tests with pytest:
```bash
pytest
```## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Author
[Nidhi Yashwanth](https://github.com/nidhiyashwanth)