An open API service indexing awesome lists of open source software.

https://github.com/si-ja/recommend-me-something

A random recommendations tool built with Flask, Vue.js and SQLite
https://github.com/si-ja/recommend-me-something

Last synced: 3 months ago
JSON representation

A random recommendations tool built with Flask, Vue.js and SQLite

Awesome Lists containing this project

README

        

# Recommend Me Something

A tool for making recommendations of goods to consume.

## Essence:

This is a tool, that operates by the principle, that it can randomly recommend a user any type of entertainment or something of a similar nature.

The kicker is that the user has full control of the database, in which all sort of things that can be recommended to them, are stored. By having this access, the user can modify: delete, update and create, new entries in the database. The products are seperated into tables to classify them. Currently there are only 2 tables: Movies and Games with few entries.

## Structure:

The tool is built with __Python and Flask__ that support the backend operations. __SQLite Database__ that holds all of the information on various good. And __Vue.js__ for the frontend, that handles user actions. The frontend and backend communicate via RESTful API.

## How to use:

For python you only need to install Flask as an additional component to the base python. Packages such as sqlite3 are inbuilt into python3 by default. Additionally, with npm you will have to install Vue.js components.

To run the backend server start the `run.py` file by writing `python3 run.py`. It will load at localhost:5000. At the current stage to run the frontend, you can use `npm run build`, while being located in the frontend folder. The sql database is a file, so it doesn't need it's own dedicated server to run.

## To use

In order to use this tool, navigate to the localhost:8080. Here you can generate recommendations on anything you want to interact with: Movies or Games.

![](https://raw.githubusercontent.com/Si-ja/Recommend-Me-Something/master/visuals/Recommendation.png "Recommend Me Something_1")
![](https://raw.githubusercontent.com/Si-ja/Recommend-Me-Something/master/visuals/Recommendation2.png "Recommend Me Something_2")

Navigate to Entries section in order to modify existing entries or add new ones.

![](https://raw.githubusercontent.com/Si-ja/Recommend-Me-Something/master/visuals/Update1.png "Update_1")
![](https://raw.githubusercontent.com/Si-ja/Recommend-Me-Something/master/visuals/Update2.png "Update_2")

Navigate to the Database section in order to see all the entries present in particular tables and delete ones you do not want to keep anymore.

![](https://raw.githubusercontent.com/Si-ja/Recommend-Me-Something/master/visuals/Database.png "Database_1")
![](https://raw.githubusercontent.com/Si-ja/Recommend-Me-Something/master/visuals/Database2.png "Database_2")

Navigate to the About section to read About the tool. Essentially a concise README.md file.

## Note of Caution:

This is a tool suited for personal use only, because there is only one database for all to interact with. Support for multi user ran database is not implemented nor is in plans.

Also, a bunch of node_modules are not included in the .git files, as they take an extreme amount of space.

## TODO:

- [ ] Dockerize everything so that it would be easier to run the whole system with two processes (services) at once.

- [ ] Organize the code a bit more and work out few bugs that are still left in the `Units.vue` file. Particularly, that the databases updates with modifications, but the error still prints warnings into a console.

- [ ] Add more entries to the table including more tables.

- [ ] Add an ability to add more tables from the user's point of view and not just from the backend.