This project is a microsservice and it's part of a system. This project was a senior test for a company, the test consisted in make some microservices of authentication, web-scraping, tasks and notification, the project should have a frontend and works on the following manner: The user create a task containing a link of a market web page and this task should have a button to make a web scraping for extract data from a product(the market place chosen for me was the HAVAN https://www.havan.com.br/
. You can choose any product), when the task status change all the users should receive a notification. The project stack is listed below:
Authentication [back-end]
Web-scraping [back-end]
Tasks [back-end]
Notifications [back-end]
Front-end
MySql
Redis
The websocket is listening the Redis channel for tasks updates notifications and seding a message to all logged users.
Websocket
git clone [email protected]:Filipe-Leite/c2s-authetication.git
git clone [email protected]:Filipe-Leite/c2s-notifications.git
git clone [email protected]:Filipe-Leite/c2s-tasks.git
[email protected]:Filipe-Leite/c2s-web-scrapping.git
2 - After clone the microservices go to each cloned repository (make sure you are using the correct Ruby language and Ruby On Rails versions) and run:
rails db:create db:migrate db:seed
Rails server #on each terminal session for each repository above
[email protected]:Filipe-Leite/c2s-frontend.git
npm install
npm start
redis-server
npm install
npm run dev