freeplane /
freeplane
Application for Mind Mapping, Knowledge Management, Project Management. Develop, organize and communicate your ideas and knowledge in the most effective way.
86/100 healthLoading repository data…
o-andres-m / repository
Project developed for Bootcamp in Ironhack (Java Backend Web)
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
IronBank is a full backend software to manage a Bank System. This software is developed in Java 17, with Maven and SpringBoot 3.0.1 framework. The database is MySql database.
The application runs in port 8080 as default, but you can change it in the application.yaml file.
You can manage some settings in file settings/Settings.java
In the first Run of Applicaction, set ddl-auto: create and profile: active: load-data. Later, change to ddl-auto: validate and erase the load-data profile.
Show-sql is "false" for keep clean the Run Console, show-sql: false
For work with the application, you need to make requests to the endpoints. These endpoints can be Public or Private. Endpoints have CRUD methods to manage all system. The security of Endpoints is in SecurityConfig.java
In IronBank you can register as AccountHolder or ThirdParty users. You have a first Admin to create another Admins. To manage security, the users must be logged in by BasicAuth.
The AccountHolders are the principal clients of the Bank and they can create accounts, make payments with credit cards, make transfers to other accounts, deposit and withdraw money from accounts, and have savings accounts to increase their balances. The ThirdPartyUsers are the secondary clients. They can be registered in the system or can work without registration. Account Numbers and Secret Keys are Auto Generated.
Every money movement in accounts is registered as Transaction. Every transaction has a unique number, date, account, amount, currency, type, and observations.
The system has a Fraud Detection when some accounts have 2 transactions in less than 2 seconds (edit from Settings), and some accounts try to decrease their balance by 150% of the high daily transaction every. This happens only when the amounts are over 1.000.
Every month is auto executed the payment of the Monthly Maintenance, and the apply of Interest to accounts. You can set the day to apply both in settings. If something happen, and the Interests or Monthly Maintenance doesn't apply automatic, Admins can apply manually.
If some error happens or some action is not supported, the system shows a specific error but continues working.
For run tests, you first need to run application with the DataLoader. In folder test you can run all the tests and verify the coverage running as "Run Tests With Coverage"
Account Holder User: Account holder users are customers of the bank who have one or more accounts with the bank.
Register if they are +18. In case of -18, they need to go to the Bank to register. View and Update their Personal Info. “Forgot Password” function to get the link to regenerate the password.
Create accounts: CheckingAccounts (or StudentAccount if they are -24), SavingAccounts, CreditAccounts(CreditCards). Set or Delete Secondary Owner to Accounts. Deposit: Deposit in CheckingAccounts, deposit in SavingAccounts, deposit in SavingAccounts from CheckingAccounts. Withdraw: Withdraw from SavingAccounts or CheckingAccounts. Buy with CreditCard. View: List of All Accounts or specific Account. View: All transactions ordered from Account. Transfer: Make a transfer to another Account.
Third Party User: Third party users are external entities that have access to the system to perform specific actions. They can make a debit from SavingAccounts if they have the Account Number and Account Secret Key. Third Party can Register in the system and add Accounts to their own AccountMap (is a list of accounts with secret key). ThirdParty User Registered Functions: Register ThirdPartyUser, but their user must be activated for Admin. Add to their AccountMap the accounts. View list of the accounts registered. Debit service from an account registered.
ThirdParty Not Registered Functions: Charge service in Account, with AccountNumber and SecretKey. Transfer to Account.
Admin User: Admin users have a direct relationship with the bank and are able to access the system using their employee information and credentials, such as a username and password. They can view and manage user, accounts, and transaction information. Admin Functions in Users: Register Admins, AccountHolders and ThirdParty Users. Search AccountHolders and ThirdParty Users. Modify Users Data. Activate or Deactivate Users. Delete Users.
View All Accounts, or view accounts from specific Users. View Specific Account with All Information. Update Account settings (like MonthlyMaintenance, Interests, PenaltyFeeAmount, CreditLimit, MinimumBalance, SecondaryOwner) Freeze, UnFreeze and Delete Accounts. Apply Penalty, Interests, Monthly Maintenance, and debit CreditCards from SavingAccount. Create Accounts to Specific AccountHolder.
The system makes automatic functions. This function is to apply Interests to Accounts and apply Monthly Maintenance. The Bank can set the Day to apply these functions.
As default, your application will run in port 8080, so your endpoints will start as http://localhost:8080/
| # | Endpoint | Method | Action | Login |
|---|---|---|---|---|
| 1 | /holders/register | POST | Register AccountHolder | NO |
| 2 | /holders/info | GET | Personal User Info | YES |
| 3 | /holders/update/ | PATCH | Update User Data | YES |
| 4 | /holders/forgotpassword/ | POST | Message to restore Password | NO |
| 5 | /holders/setSecondaryOwner/{account} | PUT | Modify SecondaryOwner in Account | YES |
| 6 | /holders/holders/create/checking | POST | Create Checking Account | YES |
| 7 | /holders/holders/create/saving | POST | Create Saving Account | YES |
| 8 | /holders/holders/create/credit | POST | Create Credit Account | YES |
| 9 | /holders/deposit | PUT | Deposit in Checking Account | YES |
| 10 | /holders/deposit/saving/{account} | PUT | Deposit in Saving Account | YES |
| 11 | /holders/deposit/savingfromchecking/{account} | PUT | Deposit in Saving Account from Checking Account | YES |
{
"username":"USERNAME",
"password" : "PASSWORD",
"nif":"X-11111111-X",
"firstName":"First Name",
"lastName" : "LastName",
"dateOfBirth" : "1995-01-15",
"address" : "Carrer Catalunya 1, Barcelona.",
"email" : "firstname@mail.com",
"phone" : "+342312322323"
}
The endpoint has a validation of values. Return a Json with the information of a new User.
| # | Endpoint | Method | Action | Login |
|---|---|---|---|---|
| 1 | /thirdparty/register | POST | Register ThirdParty | NO |
| 2 | /thirdparty/account | POST | Register Account to ThirdParty AccountMap | YES |
| 3 | /thirdparty/account | GET | Get list of AccountMap | YES |
| 4 | /thirdparty/debitservice | PATCH | Debit Service | YES |
| 5 | /thirdparty/chargeservice | PATCH | Charge Service from Account | NO |
| 6 | /thirdparty/transfer | POST | Transfer to Account | NO |
{
"username" : "USERNAME",
"password" : "PASSWORD",
"nif" : "E-23232323",
"companyName" : "ThirdParty Company SA",
"address" : "Polígono Industrial 15, Madrid",
"email" : "thirdpartymail@mail.com",
"phone" : "+342323423323"
}
The endpoint has a validation of values. When ThirdParty registers himself, the user must be activated for Admin user. Return a Json with the information of a new User.
{
"toAccount":"IB95230128102233",
"amount": 155.66
}
Requires a “bank” and “thirdClient” in Headers. For this Endpoint is not necessary authentication. Make a NotFr
Selected from shared topics, language and repository description—not editorial ratings.
freeplane /
Application for Mind Mapping, Knowledge Management, Project Management. Develop, organize and communicate your ideas and knowledge in the most effective way.
86/100 healthpichillilorenzo /
JavaScript Enhancements is a plugin for Sublime Text 3. It offers not only a smart javascript autocomplete but also a lot of features about creating, developing and managing javascript projects (real-time errors, code refactoring, etc.).
83/100 health| 12 | /holders/withdraw | GET | Withdraw from Checking Account | YES |
| 13 | /holders/withdraw/saving/{account} | GET | Withdraw from Saving Account | YES |
| 14 | /holders/buywithcredit | PUT | Buy With Credit Account | YES |
| 15 | /holders/all | GET | View All Accounts | YES |
| 16 | /holders/account | GET | View Account | YES |
| 17 | /holders/transaction | GET | View all Transactions of Account | YES |
| 18 | /holders/transfer/{account} | PUT | Transfer to another Account | YES |
milg0 /
ONVIF (Open Network Video Interface Forum) is a community to standardize communication between IP-based security products (like cameras). I developed a Java library for the ONVIF spezification. It helps you with the basics (you don't need to learn SOAP e.g.) but you may need to learn a few basics about the ONVIF spezification. As far as I know, this is the first public Java project for the ONVIF spezification.
80/100 healthome /
OME (Open Microscopy Environment) develops open-source software and data format standards for the storage and manipulation of biological light microscopy data. A joint project between universities, research establishments and industry in Europe and the USA, OME has over 20 active researchers with strong links to the microscopy community. Funded by private and public research grants, OME has been a major force on the international microscopy stage since 2000.
75/100 healthRestComm /
Disclaimer: This repository is a git-svn mirror of the project found at http://java.net/projects/jsip whose original repository is developed collaboratively by the Advanced Networking Technologies Division at the National Institute of Standards and Technology (NIST) - an agency of the United States Department of Commerce and by a community of individual and enterprise contributors. TeleStax, Inc. will perform some productization work, new features experimentation branches, etc for its TelScale jSIP product that doesn't concern the community from the main repository hence this git repository.
44/100 healthsalesforce /
This repo holds two IDE projects. One is the Eclipse Feature for developing Bazel projects in Eclipse. The Bazel Eclipse Feature supports importing, building, and testing Java projects that are built using the Bazel build system. The other is the Bazel Java Language Server, which is a build integration for IDEs such as VS Code.
28/100 health