{"id":14958984,"url":"https://github.com/nikimanoledaki/finbot-api","last_synced_at":"2025-10-24T16:30:38.844Z","repository":{"id":44862099,"uuid":"245145288","full_name":"nikimanoledaki/finbot-api","owner":"nikimanoledaki","description":"🤖 API for Ubb, a chatbot that trains a Natural Language Processing model using NLTK \u0026 TensorFlow to answer questions about personal finance, built with Django","archived":false,"fork":false,"pushed_at":"2022-12-08T03:49:37.000Z","size":670,"stargazers_count":13,"open_issues_count":13,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-31T02:46:38.618Z","etag":null,"topics":["api","chatbot","django","nlp","nltk","python","tensorflow","tensorflow-models"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nikimanoledaki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-05T11:28:57.000Z","updated_at":"2024-05-28T07:15:29.000Z","dependencies_parsed_at":"2023-01-25T04:30:58.841Z","dependency_job_id":null,"html_url":"https://github.com/nikimanoledaki/finbot-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikimanoledaki%2Ffinbot-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikimanoledaki%2Ffinbot-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikimanoledaki%2Ffinbot-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikimanoledaki%2Ffinbot-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikimanoledaki","download_url":"https://codeload.github.com/nikimanoledaki/finbot-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237999497,"owners_count":19399890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","chatbot","django","nlp","nltk","python","tensorflow","tensorflow-models"],"created_at":"2024-09-24T13:18:38.198Z","updated_at":"2025-10-24T16:30:33.295Z","avatar_url":"https://github.com/nikimanoledaki.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Finbot API\n\nThis repo contains the API for a chatbot, Ubb, that trains an Natural Language Processing (NLP) model and teaches about personal finance. Built as a group for the final project at Makers Academy. You can access the frontend of the project here.\n\n## Learning Journey\n\nThis was the team's first experience with Python, Django, Natural Language Processing, Tensorflow, and NLTK. It was also the team's first time \n\n## AI Model for Bot\n\nThe bot logic was built using [NLTK](https://www.nltk.org/), a Python library for NLP, which we used to [tokenize](https://nlp.stanford.edu/IR-book/html/htmledition/tokenization-1.html) and [stem](https://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html) a set of intents. We trained the bot by passing that pre-proccessed-data through a neural net using Tensorflow/[TFLearn](http://tflearn.org/).\n\nThe bot can predict the correct intent based on a user input. The user input is then tokenized/stemmed (i.e. create a 'bag of words') and then the model returns a response for the intent that most closely matches the user input.\n\nFinally, the bot returns a response related to that intent.\n\nOnce this context is set, the bot also asks the user if they would like more information. If the user says yes, the bot responds with a few reading resources. These resources are curated links from trustworthy sources. \n\nIf the bot does not understand or if the user is unsure about what to ask, the bot prompts the user with a list of topics that the user can ask about.\n\n## The Team\n\n[Meghan Iankov](https://github.com/meghaniankov) | [Niki Manoledaki](https://github.com/nikimanoledaki) | [Bassel Al-Sayed](https://github.com/basselalsayed) | [Shadi Khazaei](https://github.com/shadz22) | [Emily Spencer](https://github.com/emilyjspencer)\n\n## Deployed App\n\nFrontend: https://finbot-fe.herokuapp.com/ \nAPI: https://finbot--api.herokuapp.com/\n\n## Getting Started\n\n### 1. Install the software needed to run the program\n\n- Install a version of Python 3 - we recommend Python 3.6, but the program can run witha any version of Python 3. Many of us have Python 3.7.6 installed on our local machines.\n- Install TensorFlow 1.13.1\n- Install Django\n- Install NLTK\n\n### 2. Start a python environment\nInstall pipenv if you don't have it already.\n```\nbrew install pipenv \n```\n\nThen start a local virutal environemnt with pipen shell. This virutal environment automatically detects and runs the latest python version available on your local machine.\n```\n$ pipenv shell\n```\n\n### 3. Install all other dependencies\n\nAfter cloning the repo, run:\n\n```\n$ pipenv install\n```\n\n## Running the program\n\n### Start Server\n\n```\n$ python manage.py runserver\n```\n\n## Built With\n\n* Python\n* Django\n* Tensorflow\n* TFLearn\n* NLTK (Natural Language Toolkit)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikimanoledaki%2Ffinbot-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikimanoledaki%2Ffinbot-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikimanoledaki%2Ffinbot-api/lists"}