Naming recommendations for resource to top-up, cash out and for other financial activities - naming

I am a backend developer and I am currently working on creating a new e-wallet service.
The service will start off with basic features such as top-up, cash-out and deduction by interacting with money resources(?) like banks.
But there's also another e-wallet service in another project of my company which is also another resource you can do the same financial activities.
Therefore, it would sound a bit weird if I named the class Bank.
Since English is not my mother tongue, it takes too much time for me to come up with a proper name or it's even impossible.
Is there any proper name for this kind of thing that you can recommend?

Related

BeautifulSoup4 - Concatenating multiple html elements between two different tags for batch processing url

Continuing on my earlier question Python BS4 - Concatenating multiple html elements between two different tags
I want to extend the solution for multiple url.
Consider two url link1 | link2
The html source code looks like below
<div class="job">
<p><strong>Requisition ID: </strong>223813
<strong>Work Area: </strong>Consulting and Professional Services
<strong>Expected Travel: </strong>0 - 80%
<strong>Career Status: </strong>Professional
<strong>Employment Type: </strong>Regular Full Time</p>
<p><strong>COMPANY DESCRIPTION</strong>
SAP started in 1972 as a team of five colleagues with a desire to do something new. Together, they changed enterprise software and reinvented how business was done. Today, as a market leader in enterprise application software, we remain true to our roots. That’s why we engineer solutions to fuel innovation, foster equality and spread opportunity for our employees and customers across borders and cultures.</p>
<p>SAP values the entrepreneurial spirit, fostering creativity and building lasting relationships with our employees. We know that a diverse and inclusive workforce keeps us competitive and provides opportunities for all. We believe that together we can transform industries, grow economics, lift up societies and sustain our environment. Because it’s the best-run businesses that make the world run better and improve people’s lives.</p>
.
.
.
.
.
.
<p><strong>WHAT YOU GET FROM US </strong></p>
<p>Success is what you make it. At SAP, we help you make it your own. A career at SAP can open many doors for you. If you’re searching for a company that’s dedicated to your ideas and individual growth, recognizes you for your unique contributions, fills you with a strong sense of purpose, and provides a fun, flexible and inclusive work environment – apply now<em>.</em></p>
My Requirement:
Get the section marked as dots in above the code. It is dynamic content & hence can't hardcode any of the section headers. Refer to the 2 links provided above to see the difference in content.
The only static text seems to be <p><strong>COMPANY DESCRIPTION</strong> at the top & <p><strong>WHAT YOU GET FROM US </strong></p> at the bottom.
So I need all the html tags & elemnts after "COMPANY DESCRIPTION" & before "WHAT YOU GET FROM US"
Also observe that the "COMPANY DESCRIPTION" section has 2 para <p> in it. I don't want the 2nd para either which starts with <p>SAP values the entrepreneurial spirit,
Use the css selector to check the text contains "COMPANY DESCRIPTION" and remaining code same.
Code:
import requests
from bs4 import BeautifulSoup
def scrape_url(url, method='bs4'):
session = requests.session()
page = session.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
return soup
urls=['https://jobs.sap.com/job/Kuala-Lumpur-Business-Processes-Consultant-%28FICO%29-Job-14/541909901/','https://jobs.sap.com/job/Mumbai-Senior-Account-Executive-Job-MH/539212101/']
for url in urls:
print(url)
soup = scrape_url(url)
findtag=soup.select_one('p:contains("COMPANY DESCRIPTION")')
print(findtag.text)
findnextptag=findtag.find_next_sibling('p')
for item in findnextptag.find_next_siblings():
if 'WHAT YOU GET FROM US' in item.text:
break
else:
print(item.text.strip())
print("======================================")
Output:
https://jobs.sap.com/job/Kuala-Lumpur-Business-Processes-Consultant-%28FICO%29-Job-14/541909901/
COMPANY DESCRIPTION
SAP started in 1972 as a team of five colleagues with a desire to do something new. Together, they changed enterprise software and reinvented how business was done. Today, as a market leader in enterprise application software, we remain true to our roots. That’s why we engineer solutions to fuel innovation, foster equality and spread opportunity for our employees and customers across borders and cultures.
PURPOSE AND OBJECTIVES
To address requirements in the area of Supply Chain Management Extended Warehouse Management solutions, Build competencies at Solution Delivery Center to deliver solutions especially in areas relating to SAP EWM
EXPECTATIONS AND TASKS
Independently handle large implementation projects with focus on Warehouse Management processes such as inbound, outbound and internal processes. RF Device functions and Barcode support experience is desirable
Able to lead EWM discussions, assessments and detail requirement studies with customers
Leading the team that are assigned to, in functional capacity, adding value to the project and to the final deliverables
Be actively involved in the preparation, conception, realization and Go Live of customer implementation projects
Demonstrate the ability to plan, run, and manage blueprint workshops / meetings with internal and external clients
Responsible for defining the scope of a project / opportunities, estimating efforts and project timelines
Participating in RFP discussions and estimating under guidance from a Bid Manager
Providing a creative source of ideas/solutions to address problems
Delivering billable components that meets a customer’s needs
KEY PERFORMANCE INDICATORS
Customer Feedback/customer satisfaction scores
Productive days/utilization as defined by the organization for projects/assessments/etc.
Knowledge Management and creation of effective reusable components
EXPERIENCE REQUIREMENTS
Minimum of 4+ years industry experience and a minimum of 5 to 6 years of SAP EWM experience
Domain knowledge in Supply Chain Management in the areas of Planning, Manufacturing & warehousing processes is a must
Must have strong ERP implementation experience
Experience in SAP Material Flow Systems (MFS) or any other third party automation tools will be desirable
Experience in EWM technical knowledge will be an added advantage
Knowledge on SAP S/4HANA Public Cloud solution and SAP IOT/Leonardo portfolio will be preferred but not mandatory
Good understanding of S/4HANA Order to Cash and Procure to Pay business processes
Good understanding of SAP ACTIVATE implementation methodology
Use of Solution Manager as a part of implementation life cycle is desirable
Good Communication skill in English.
EDUCATION AND QUALIFICATIONS/SKILLS AND COMPETENCIES
Degree in Engineering or IT
SAP Certification in Extended Warehouse Management (EWM) desirable
Minimum 4 to 5 full life cycle SAP EWM implementations
Strong knowledge in SAP SCM Extended Warehouse Management Solutions and S/4HANA Embedded EWM Solution
Good integration knowledge with other components with SAP S/4HANA (WM, SD, MM, PP) and other SAP or Non-SAP legacy applications
Knowledge of SCOR, APICS certification preferable
Strong client-facing experience and well-developed customer focus
Solid oral and written communication skills, with the demonstrated ability to communicate complex technical topics to management and non-technical audiences
Mobility is must – candidate must be ready to travel to project locations (short term and long term)
======================================
https://jobs.sap.com/job/Mumbai-Senior-Account-Executive-Job-MH/539212101/
COMPANY DESCRIPTION
SAP started in 1972 as a team of five colleagues with a desire to do something new. Together, they changed enterprise software and reinvented how business was done. Today, as a market leader in enterprise application software, we remain true to our roots. That’s why we engineer solutions to fuel innovation, foster equality and spread opportunity for our employees and customers across borders and cultures.
Key Areas of Responsibility and Tasks:
The Account Executive’s primary responsibilities include prospecting, qualifying, selling and closing new business to existing and net new customers. The Account Executive brings a Point of View to Customer engagement; uses all resources to solve customer problems with appropriate SAP products.
1.    Account and Customer Relationship Management, Sales and Software License and Cloud Subscription Revenue.
Annual Revenue - Achieve / exceed quota targets. 
Sales strategies - Develops effective and specific account plans to ensure revenue target delivery and sustainable growth.   Develop relationships in new and existing customers and leverage to drive strategy through organization. 
Trusted advisor - Establishes strong relationships based on knowledge of customer requirements and commitment to value (value of counsel and expertise, the value of solutions, the value of implementation expertise).  Builds a foundation on which to harvest future business opportunities and accurate account information and coaching.
Customer Acumen - Actively understand each customer’s technology footprint, strategic growth plans, technology strategy, and competitive landscape.   Review public information (e.g. new executive appointments, earnings statements, press releases) for the company and its competitors to remain updated on key industry trends and issues impacting the prospect. 
Territory and Account Leadership - Lead designated territory, including accounts, account relationships, prospect profiling, and sales cycles.  Encourage all accounts to become SAP references. 
Business Planning – Develop and deliver comprehensive business plan to address customer and prospects priorities and pain points.   Utilize VE, benchmarking and ROI data to support the customer’s decision process.
2.    Demand Generation, Pipeline and Opportunity Management
Pipeline planning - Follow a disciplined approach to maintaining a rolling pipeline. Keep pipeline current and moving up the pipeline curve.  
Pipeline partnerships – Leverage support organizations including Marketing, Inside sales, Partners and channels to funnel pipeline into the assigned territory.   
Leverage SAP Solutions – Be proficient in and bring all SAP offers to bear on sales pursuits including Industry Solutions, LOB solutions (CRM, SCM, HCM, SRM et. al) and technology solutions (Business Analytics, Mobility, Database and Technology, et. al) 
Advance and close sales opportunities - through the successful execution of the sales strategy and roadmap.
Support all SAP promotions and events in the territory
3.    Sales Excellence
Sell value.   
Maintain White Space analysis and execution of initiatives (up sell and cross sell) on customer base.
Orchestrate resources: deploy appropriate teams to execute winning sales.  Create OneSAP.
Utilize best practice sales models.
Understand SAP’s competition and effectively position solutions against them.
Maintain CRM system with accurate customer and pipeline information.
Experience & Language Requirements
10+ Years of experience in sales of complex business software / IT solutions in Govt/ PSU sector
Proven track record in business application software/ services sales
Experience in the lead role of a team-selling environment. Coordination across multiple internal and external stakeholders and partners. 
Demonstrated success with large transactions and lengthy sales campaigns in a fast-paced, consultative and competitive market.
Business level English: Fluent 
Local language: Fluent, Business Level
Education:
Bachelor equivalent: yes
======================================

SharePoint Strategy

This is more general question - I was asked to come up with a document called "SharePoint Strategy", which should descibe (or maybe it's better to say suggest) general company strategy for handling SharePoint in the future. And by handling I mean mainly:
how we manage and support current instance (which is SharePoint Online custom solution provided by external company)
how we evolve current instance with new solutions / features (we have some development skills in the company - 1 dev), so I think the question is how we manage, develop, deploy and support custom solutions
I would be grateful if you can share your experience in this kind of work (if you've had chance to write documents like this or you were part of the discussions). Any idea where I should start?
Regards
George
Your question is not a good fit for this site for "enthusiast programmers", but you raise an important issue that I'd rather try to address than shut down.
What you are after is called a SharePoint Governance Plan.
Nobody can tell your company how your company should be using SharePoint. You will need to work that out amongst yourselves. If you have been asked to come up with a document, you've really drawn the short straw. Because you won't be able to write that document on your own. But you can look at SharePoint governance guidance and sample governance plans and work out from there what decisions your company needs to make, what your company wants to achieve and where your company wants to go.
The Governance Plan helps to document where you are now, where you want to be in the near future, and maybe a few tactical steps to map out how to get there.
The samples and articles you can discover when you google SharePoint Governance Plan sample will only be a starting point. The hard bit comes after you realize that your company needs to make a few decisions, which are above your pay grade, but you may not know who should make them. You will need to collect representatives of the business in a Governance Committee, and they will contribute to the SharePoint road map and the governance plan.
If you work in IT, chances are that you will find it very hard to get the commitment from the business to contribute time and effort to this whole Governance spiel. They just want SharePoint to work and expect the IT department to magically mind-read and automatically apply whatever they need without spending time to detail the requirements.
A SharePoint Governance plan is a little bit like a business plan. It includes vision, goals, strategy and tactics and it cannot be written by one person's efforts alone. It has to be a team exercise.
Try this article for a start: https://sharegate.com/blog/real-world-sharepoint-governance-plan
Edit: If the document is supposed to shed light on difficult decisions, you can present different approaches for each of the scenarios along with pros and cons for the approach.
For example:
Challenge: Developing custom solutions in SharePoint
Option 1: hire external developers
Pros: no need to recruit and/or
train in-house staff
Cons: more expensive, also hard to tell if externals have the knowledge to do the job
Option 2: employ developers
Pros: working full time in-house, easy to manage, cheaper
Cons: hard to recruit, difficult to judge applicant skills in advance
Option 3: do nothing
Pros: don't have to make a decision, phewww!!
Cons: Nothing gets done, arghh!
Again, the point here is that it is not you who has to make the decision. You present options and the business representatives evaluate the options and make a decision, which will then be documented in the next version of the governance plan. The governance plan is not set in stone. It changes all the time. It is a living document about how the business wants to use SharePoint.
Things change. That's a given.
The Governance Plan tries to define how things should be handled with the current information.
The Governance Committee meets regularly to review the Governance Plan and they can change the plan.
The whole idea here is that the Plan comes from what the business wants, not what a poor single soul in IT has been tasked to dream up.

Imgur API Commercial vs Free

I'm working on an app that, as one component, accesses the imgur API. I'm trying to work out if it is considered "Commercial" based on three separate possible models. As you can understand, as the sole developer, I'm just a hobby programmer and I want to know if I can build this without a heavy monthly bill from imgur.
From the imgur API doc page;
Your application is commercial if you're making any money with it (which includes in-app advertising), if you plan on making any money with it, or if it belongs to a commercial organization.
What does that mean in these scenarios:
If I'm building an application that as a component of it uses the imgur API, that is not paid for, does not have any ongoing costs, but has a Patreon/GoFundMe/KoFi account attached to it to support development, is that considered "Commercial" here?
If I build the app, but charge a flat $5 for it, and no advertisement/in-app-purchases, is this considered commercial?
If I build the app, do not charge for it, do not post ads, but accept one-off donations towards developmnent, is this considered commercial as per the above?
If I'm building an application that as a component of it uses the
imgur API, that is not paid for, does not have any ongoing costs, but
has a Patreon/GoFundMe/KoFi account attached to it to support
development, is that considered "Commercial" here?
Possibly. Donations can very well be considered a source of income. In addition, you need to look at the second part of the Imgur ToS that you quoted:
plan on making any money with it, or if it belongs to a commercial
organization.
Will the app remain free forever after a limited period of development?
If I build the app,
but charge a flat $5 for it, and no advertisement/in-app-purchases, is
this considered commercial?
Yes, this can be considered commercial. Because you're charging money for the app.
If I build the app, do not charge for it,
do not post ads, but accept one-off donations towards developmnent, is
this considered commercial as per the above?
This is very similar to the first scenario.
The important thing to understand is that there is a great deal of latitude in enforcing the ToS. This is both to ensure the convenience of users, and also to ensure that Imgur's services aren't abused. One of the statements in their ToS states something to the effect of "Don't use us as your CDN". It would seem that is what you're thinking of doing. Unless your app is for a demonstrably social/charitable purpose like curing cancer or world hunger, Imgur might just as well choose to enforce the ToS. Don't risk it. Go for a paid service (Imgur's or another).
To be really sure, one can directly contact Imgur with a link to the app and check with them.

Reasoning/modeling business logic with the approach of Domain Driven Design

What I'm trying to achieve is to develop an application implementing the DDD approach.
The story might sound silly but it's an actual, real life problem. Believe me.
The business looks as follows:
Let's say a company specializes in manufacturing sweets which are distributed to its own shops for sale.
The craftsman makes different types of candy depending on what is - and what is not - currently at the display at one of the company's shop.
When a basket of one flavour 'disappears' the seller replaces this type of sweet with a different kind from the shops storage cabinet.
Duplicates of flavours at the display shouldn't exist and the display should be populated with as much as the capacity allows or how much the manafacturer can handle to produce.
The sweets are distributed from the manufacturer's lab's storage to the shop's one depending on the demand.
Let's assume each worker has public view access to the display and the storage cabinet. Each worker (user) decides on it's own what to provide. The shops display view will be publicly accessible through the application to a potential client as an information what is currently on sale.
So far I have split the business logic into three separate (sub?)domains which are:
Production
Distribution
Sale
And of course each entity like Sweets, Storage, Craftsman, it's Repository etc. are placed respectively in their domain.
The concerns I approach are:
Is it appropriate that an entity (Sweet) is being passed from one domain to another?
Should a Provider be able to reach the StorageCabinet of one domain and pass it's content to another?
Is my reasoning proper? Correct me if I'm wrong or violating any DDD rules.
Thanks in advance.
The story might sound silly but it's an actual, real life problem.
This is great, actually. In his recent retrospective, one of the things that Greg Young called out is that "shopping cart" models are a really lousy as a teaching tool. He points out briefly that the interesting questions are in the supply chain.
Is it appropriate that an entity (Sweet) is being passed from one domain to another?
No, but a message (DTO) describing an entity's state might be passed from one domain to another.
You want to keep the flexibility to define the entities differently in each domain; that's part of the point of identifying bounded contexts.
Should a Provider be able to reach the StorageCabinet of one domain and pass it's content to another?
Probably not: your domain model isn't the book of record for the storage cabinet. Listen very carefully to Greg's comments on one way commands.

What is the best practice about sharing the model for different projects when use domain driven design?

So we may apply the domain driven design for multiple projects but there could be intersection of the same piece of domain model.
In this case, how to apply the domain driven design (use ORM, model first, generating database schema)? Create multiple databases with a lot of same tables? Or how to share data? Use synonyms? What is the possible strategy to resolve the sharing model (including data)?
Any suggestion is welcome. Thanks in advance!
In my previous project we had a lot of discussions regarding having redundant info in several models that have some shared parts.
What we found interesting is that we thought that several projects (not C# proj, but real large development projects) or call it systems very rarely share the exact same perspective on how using the model. We thought that in a larger domain that spans over several application/systems/projects you could spot several core's where you don't want the cores to be duplicated in each application.
It all ended up with a domain that where distributed on several machines. And we had GUID keys to bind them together in database. But since we did this "model first", sub domains looked at each other like infrastructure related services that where reached through Domain events.
Complicated? Not really. Here's an example:
Domain one (Salary review system) - We have a Salary Review statistic system which conduct evaluation on employees salary and how they related to their experience, age and performance. The Core is questionnaire form, work evaluation, questionnaire answers, rating. salary modification advices etc.
Domain two (Employee system) - Here you manage your employee, register new employees, handle rehab, maybe personal development, salary, employee contract, employee benefits etc.
Domain three (Performance management) - Here you handle history of employee experience, goals, achievements, and agreements between boss and employees about personal development, rating and grade of performance.
As you notice the Core of each domain is different but they share some concerns. Depending on deployment, infrastructure and requirement on how tight they should relate/respond to each other - the tech how to solve this could differ.
I Prefer to do this tech independent. We used NServiceBus for synchronizing domain through Domain Events (Udi Dahn's Domain Event Pattern).
For instance, Once we have completed a salary review for an employee and boss should be informed that Joe should get a chance of salary increase with 200 - 500 $ this year.
The method ApplySalaryReview on entity aggregate root Employee do not only save the review result, it also trigger domain event NotifySalaryReviewSubscribers which trigger an eventhandler HandleNotifySalaryReviewSubscribersEvent in Application layer that takes a infrastructure service in ctor. That service puts result in a message queue that all systems that need this info can subscribe on this message.
In our case, it is Domain two (Employee system). The employee system import result and notify employee's boss that he got new info for the upcoming salary talk with this particular employee.
I hope I may have shread some light on one way of doing it. There are so many other ways as well...
You might want to (re-)read the strategic design patterns in the blue book.

Resources