REQUESTO is a tool for monitoring HTTP endpoints. It is a simple and easy to use tool for testing web applications. It is written in Python and uses the django rest framework.
Using docker-compose is the easiest way to run the project. You can find the docker-compose.yml file in the root of the project. You can run the project by running the following command:
docker-compose up
If you want to run the project without docker, you can follow the steps below:
- Install the requirements by running the following command:
pip install -r requirements.txt
- Run the following commands:
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
Also you need to create a superuser in order to use the admin panel. You can do that by running the following command:
python manage.py createsuperuser
The project uses a django command to update the monitoring endpoints. You can run the updater by running the following command:
python manage.py updater 100 # Run updater every 100 seconds
You can use the following endpoints to interact with the project:
- POST /api/auth/login/ - Login user
- POST /api/auth/register/ - Register user
- POST /api/monitor/create/ - Create a new Monitoring endpoint (Authorization required)
- GET /api/monitor/list/ - List all Monitoring endpoints (Authorization required)
- GET /api/monitor/statistics/:id/ - Get statistics for a specific Monitoring endpoint (Authorization required)
- GET /api/monitor/statistics/warnings/ - Get all warnings (Authorization required)
The project is divided into 3 main apps:
- authentication app - Contains the authentication logic
- Monitor app - Contains the monitoring logic
- core app (requesto) - Contains the core logic of the project