The following project is realized as part of the Linux course given by the MoSEF Master at the University of Paris 1 Panthéon-Sorbonne. The main goal is to deploy an app with Docker or with a simple shell file. We have decided to backend the application with a NLP model based on TF-IDF to make recommendations from opendata.paris.fr
In this repository, you will find the following elements:
- A canva presentation 'Datamuse' to explain the purpose of our project.
- A webapp folder and an app_docker folder
After spending several days in Paris or living permanently in Paris, you have already visited all the museums. What activity can I do? Less known museums, concerts, shows... Write what you want and we will advise you!
The project is built in two parts.
The first part is the console version of the final application, our "beta-application" if you want. This version of the application takes into account two arguments : the data as a csv file, and the keyword that serves as your research (for example, Louvre, Opéra, or even Picasso) to let the recommendation system find the most similar events to suggest to the user.
- Clone the repository
https://github.com/sarrabenyahia/datamuse.git
- Change your current working directory
cd app_docker
- Install required dependencies
source install.sh
- Launch the application with the keyword of your choice (keep in mind to translate your searches in french 🇫🇷 for example : Louvre)
bash launch.sh [keyword]
Our Webapp allows users to receive recommendations using NLP and similarity computing with the TF-IDF cosine similarity matrix. The app is hosted on the local machine at http://localhost:8000/.
The main page, or "Home", is just a simple user guide for the app! After mastering the console application and having dockerized it, we challenged ourselves by creating a web application using the django package.
- Created Django form with the research key-word to be entered
- Created views for index page and prediction page. The predict view inputs the key-word as values to the NLP model. (File: webapp/linux_app/views.py)
- The model outputs the label index of the recommended cultural events. The title and other information of the events recommended are fetched from the api downloaded file of https://opendata.paris.fr/ (File: data.csv).
- An HTML page is rendered with that serves as a home page to explain the purpose of the project to the user (File: webapp/linux_app/templates/result.html)
- An HTML page is rendered with the form and the recommended events. (File: webapp/linux_app/templates/result.html)
- Clone the repository
https://github.com/sarrabenyahia/datamuse.git
- Change your current working directory
cd webapp
- Install required dependencies
source install.sh
- Launch the application with the keyword of your choice (keep in mind to translate your searches in french 🇫🇷 for example : Louvre)
bash launch.sh [keyword]
- Django Web App: http://127.0.0.1:8000
- Our Web App is ready for deployement in a web server but a .env file with manage.py : debug and secret_key must be created to maintain a certain security level.
- Link to our presentation on canva : https://www.canva.com/design/DAFVY1C0EO4/q6OMxjwykrttN0HMmBHwcA/view?utm_content=DAFVY1C0EO4&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton
- Datamuse .pdf
- A special thank you to @eliamosef for introducing and teaching us the basics in his linux course!