Skip to content

A server-side web app that allows the user to upload a list of financial transactions, giving feedback over potential frauds and illicit movements.

Notifications You must be signed in to change notification settings

KalimaraPeleteiro/Transaction_Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoneyAnalyzer

A server-side web app that allows the user to upload a list of financial transactions, giving feedback over potential frauds and illicit movements.

🪧 Vitrine.Dev
✨ Nome MoneyAnalyzer
🏷️ Tecnologias

report

🚀 Project

The website was made using a modified free template (template.zip), that is inside the project folder. It has a few key functionalities, such as:

  • Login/SignUp system, with encrypted passwords.

  • Suport to CSV files with transactions, that are stored in your account.

  • A report over suspicious transactions, showing separating them from others.

    🔃 Login/Signup System

    To register into the app, the user will need offer only two things: a username and his email. After the appropriate verifications are made, a six-digit password encrypted with the BCrypt algorithm is sent to their email. The user can then use this password to enter the app.

    login register

    💼 Import Rules

    The app won't accept any CSV file. The file (that should be generated by a third-party) must contain eight key values:

    • The bank from which the transaction was made
    • The agency from which the transaction was made
    • The account number from which the transaction was made
    • The bank for which the transaction was
    • The account for which the transaction was
    • The account number for which the transaction was
    • The value of the transfer
    • The date and hour the transfer was made

    It'll be rejected any transactions that don't have one of these info. Besides that, the app will only read transactions from the same day at a time, therefore, any other records of transactions that ocurred in other date besides the first one in the CSV file will be ignored. In summary, the users should import their daily transactions at a time instead of grouping them all together and sending a bunch of them.

    The user will have acess to all transactions imported into the app, with an additional button showing all the details.

    import history detail

    💸 Suspicious Transactions

    Right now, the transactions labeled as "suspicious" are the ones with value over 10000. There are plans to change this, however, adding a more "detailed" analysis. I'm looking to build a ML model capable of analysing such values and identyfing potential suspicious transactions. This is a work in progress, though, and therefore some time will be needed for this.



💻 Downloading the Project

If you wish to download the files and see the project working by yourself, a few steps are going to be needed. You need to make sure that you have Python installed, such as some few libraries, that will be listed down below.

# Libraries used in the project
Django==4.0.5
psycopg2-binary==2.9.3
bcrypt==3.2.2

It's of major importance that you only download such libraries after inside the virtual environment. To enter the venv, use the code source "path-to-venv/venv/bin/activate". After that, you can simply install the libraries using commands such as pip install django==4.0.5.

With the libraries installed you will also need two other things. The first one is PostgreSQL, and the second one is to modify, in MoneyAnalyzer/settings.py the database configurations to fit your created database. The final setting should be something close to this.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'DatabaseName',
        'USER': 'UserName',
        'PASSWORD': 'UserPassword',
        'HOST': 'localhost'
    }
}

After the database is configured, use the commands python manage.py makemigrations and python manage.py migrate to create the needed tables in your database. With this out of the way, you can build the server with python manage.py runserver. The app will be available in http://127.0.0.1:8000.

🙇‍♂️ Any Suggestions?

In case of any suggestions, opinions or criticism, please, contact me. I'm looking forward to keeping improving always, and feedback is always precious.

About

A server-side web app that allows the user to upload a list of financial transactions, giving feedback over potential frauds and illicit movements.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published