Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tnahom/harone-management-system
A comprehensive customer relationship management system designed for SWIFT network connectivity onboarding. This system streamlines business customer documentation processing and management.
https://github.com/tnahom/harone-management-system
bootstrap docker flask html5 mariadb python sqlalchemy
Last synced: 14 days ago
JSON representation
A comprehensive customer relationship management system designed for SWIFT network connectivity onboarding. This system streamlines business customer documentation processing and management.
- Host: GitHub
- URL: https://github.com/tnahom/harone-management-system
- Owner: TNAHOM
- Created: 2025-01-31T17:37:04.000Z (14 days ago)
- Default Branch: main
- Last Pushed: 2025-01-31T18:45:57.000Z (14 days ago)
- Last Synced: 2025-01-31T19:19:41.483Z (14 days ago)
- Topics: bootstrap, docker, flask, html5, mariadb, python, sqlalchemy
- Language: HTML
- Homepage:
- Size: 928 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SWIFT Connect Onboarding System
A comprehensive customer relationship management system designed for SWIFT network connectivity onboarding. This system streamlines business customer documentation processing and management.
## Core Features
### Authentication System 🔐
- Secure login and registration system
- Role-based access control (Business, Processor, Auditor, Admin)
- Session management and security
- Business customer self-registration![Business Customer Signup Page](screenshoots/buissness-customer-signup-page.png)
### Business Customer Portal 💼
- Self-service onboarding request submission
- Document upload system (Business License, Tax ID)
- Real-time request status tracking
- Multiple business types support (Sole Proprietorship, Partnership, Corporation, LLC)![Business Customer Dashboard Page](screenshoots/buissness-customer-dashboard-page.png)
![Business Customer Onboarding Request Popup Page](screenshoots/buissness-customer-onboarding-request-popup-page.png)### CRM Dashboard 📊
- Request queue management system
- Status filtering (All, Pending, Approved, Rejected)
- Document review interface
- Request processing workflow
- Detailed request information display
- Comments and feedback system![Business Customer Request Detail Page](screenshoots/buissness-customer-request-detail-page.png)
![Admin Review Request Popup](screenshoots/admin-review-request-popup.png)### Admin Management ⚙️
- User management interface
- Internal user creation (Processor, Auditor, Admin roles)
- System statistics dashboard
- User verification status tracking
- Business customer overview![Admin Dashboard Page](screenshoots/admin-dashboard-page.png)
![Admin User Management Page](screenshoots/admin-usermanagment-page.png)### Document Management 📁
- Secure document upload system
- Support for multiple file formats (PDF, JPG, JPEG, PNG)
- Document download functionality
- Business license and tax ID management## Technology Stack
- **Backend**: Python Flask
- **Database**: MariaDB 10.6
- **Frontend**: Bootstrap 5
- **Template Engine**: Jinja2
- **JavaScript**: jQuery 3.7.1
- **Container**: Docker## Prerequisites
- Docker and Docker Compose
- Python 3.8+ (for local development)
- MariaDB 10.6+ (handled by Docker)
- Modern web browser## Quick Start with Docker
1. Clone the repository:
```bash
git clone
cd swift-connect
```2. Configure environment:
```bash
cp .env.example .env
# Edit .env with your configurations
```3. Start the MariaDB service:
```bash
docker-compose up -d db
```4. Access the application:
```
http://localhost:5000
```
![Docker Container](screenshoots/docker-container.png)Note: The application itself is not containerized. Only the MariaDB database is run in a Docker container. Follow the Local Development Setup for running the application.
## Local Development Setup
1. Create virtual environment:
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```2. Install dependencies:
```bash
pip install -r requirements.txt
```3. Configure database:
```bash
flask db upgrade
```4. Run the application:
```bash
flask run
```## API Endpoints
### Authentication
- `POST /auth/login` - User login
- `POST /auth/logout` - User logout
- `POST /auth/register` - Business customer registration### Requests
- `GET /requests` - List requests
- `POST /requests` - Create new request
- `GET /requests/` - Get request details
- `PUT /requests/` - Update request status
- `GET /requests//documents` - Download documents### Admin
- `GET /admin/users` - List all users
- `POST /admin/users` - Create internal user
- `GET /admin/process_request/` - Process onboarding request## Environment Variables
```
FLASK_APP=run.py
FLASK_ENV=development/production
DATABASE_URL=mysql://user:pass@localhost/db
SECRET_KEY=your-secret-key
MAIL_SERVER=smtp.server.com
MAIL_PORT=587
MAIL_USERNAME=your-email
MAIL_PASSWORD=your-password
UPLOAD_FOLDER=path/to/uploads
```## Docker Configuration
The application uses Docker Compose with:
- MariaDB 10.6 database service
- Persistent volume for database storage
- Exposed ports:
- Database: 3306
- Web application: 5000## User Roles
1. **Business Customer**
- Account registration
- Onboarding request submission
- Document upload
- Request status tracking2. **CRM Processor**
- Review onboarding requests
- Approve/reject submissions
- Add processing comments
- Access document downloads3. **Administrator**
- Manage system users
- Create internal accounts
- View system statistics
- Monitor user verification4. **Auditor**
- View all requests
- Monitor request processing
- Access system reports
- Track request statuses![Auditor Dashboard Page](screenshoots/auditor-dashboard-page.png)
## Security Features
- Password-based authentication
- Role-based access control
- Secure file upload handling
- CSRF protection
- Session management
- Input validation## Support
For technical support and inquiries:
- Email: [email protected]
- Issue Tracking: GitHub Issues## User Profiles and Requirements
### User Profiles
1. **Business Customer**
- Needs to submit onboarding requests and track their status.
- Requires a user-friendly interface for document uploads and status updates.2. **CRM Processor**
- Responsible for reviewing and processing onboarding requests.
- Needs efficient tools for filtering, reviewing, and updating request statuses.3. **Administrator**
- Manages users and oversees system operations.
- Requires access to user management tools and system statistics.4. **Auditor**
- Monitors request processing and ensures compliance.
- Needs access to detailed reports and request histories.### Requirements
#### Functional Requirements
- **Authentication**: Secure login and registration for all user roles.
- **Request Submission**: Business customers can submit onboarding requests with necessary documents.
- **Request Processing**: CRM processors can review, approve, or reject requests.
- **User Management**: Administrators can create and manage user accounts.
- **Reporting**: Auditors can generate and view detailed reports.#### Non-Functional Requirements
- **Security**: Ensure data protection through encryption and secure authentication.
- **Usability**: Provide an intuitive and user-friendly interface.
- **Performance**: Ensure the system can handle multiple concurrent users without performance degradation.
- **Scalability**: Design the system to accommodate future growth in user base and data volume.