This project is part of a course in Text Mining, an exciting discipline that explores text analysis techniques for extracting meaningful information. Carried out in a school context, this project aims to apply the concepts and methodologies learned in class to a concrete application.
Make sure you have Docker
and Docker Compose
installed on your machine.
git clone https://github.com/moiseberthe/sise-nlp.git
client/
: Application Streamlit- controller/
- pages/
- app.py
- Dockerfile
- env.sample.py
- requirements.txt
server/
: Application FastAPI- database/
- utils/
- app.py
- Dockerfile
- env.sample.py
- migrate.py
- requirements.txt
Before running the application, you need to create two env.py files, one in the server/
directory and another in the client/
directory. You can take inspiration from the available example files.
For the client :
cp client/env.sample.py client/env.py
For the server :
cp server/env.sample.py server/env.py
You need to have credentials to access the Pôle Emploi API, which is used in this project to retrieve job offers. Visit [https://pole-emploi.io](pole-emploi.io) to obtain these credentials.
This is optional, but you will only have access to job offers available on Apec.
The Docker files (client/Dockerfile
and server/Dockerfile
) contain the build configurations for the Streamlit and FastAPI services.
The docker-compose.yml
file is designed to orchestrate the different services.
To build and start the services using Docker Compose, you can use the following command:
docker compose up --build
The project will be accessible at the following address:
- Streamlit: http://localhost:8501
- FastAPI: http://localhost:8000
docker tag nlp-server:latest moiseberthe/nlp-server:latest
docker push moiseberthe/nlp-server:latest
docker tag nlp-client:latest moiseberthe/nlp-client:latest
docker push moiseberthe/nlp-client:latest