В config.py заполните учётные данные для доступа к вашей базе данных:
host = 'iP-адрес базы данных'
user = 'Ваше имя пользователя для доступа к базе данных'
password = 'Ваш пароль для доступа к базе данных '
db_name = 'Имя вашей базы данных'
Установите необходимые библиотеки для запуска:
pip install -r requirements.txt
Установите необходимые для корректной работы приложения СУБД PostgreSQL и Postman(опционально, для тестирования API), либо любую другую API-платформу
python main.py
Учётные данные, которые принимает сервер:
- username: имя пользователя, которое будет использоваться при регистрации.
- password: пароль для учетной записи пользователя.
- email: адрес электронной почты пользователя.
Важное замечание при создании пароля: должен иметь длину от 8 до 16 символов и содержать хотя бы одну цифру, одну строчную букву, одну прописную букву и один специальный символ, также не должен содержать пробелов. В противном случае - пароль не будет являться валидным для сервера и вернёт ошибку.
Приложение позволяет использовать следующие API-вызовы:
Вводные данные для вызова |
Выходные данные при успешном ответе |
Выходные данные при ошибке |
Формат данных | Пример данных (успешных/неуспешных) |
|
---|---|---|---|---|---|
Приветственное сообщение на главной странице |
GET / ip / домен корневого URL, где работает сервер: http://example.org/ |
Welcome to my Flask App! | None | HTML-строка | html<p>Welcome to my Flask App!</p> |
Регистрация нового пользователя |
POST /api/register Все учётные данные: json{"username": <username>, "password": <password with a-zA-Z0-9 and specials (length from 8 to 16)>, "email": <[email protected]>} |
HTTP-статус: 200; Тело ответа |
HTTP-статус: 502; Ответ в json; в поле exception: описание ошибки |
JSON | json{'status': 'success', 'message': 'User registered successfully'},200 json{'status': 'exception','message': 'Exception('An error occurred during registration')'}, 502 |
Вход пользователя |
POST /api/login Существующие email / username и password: json{"username": <username>, "email": <[email protected]>, "password": <password>} |
HTTP-статус: 200; Тело ответа |
HTTP-статус: 502; Ответ в json; в поле exception: описание ошибки |
JSON | json{'status': 'success', 'message': 'User logged successfully', 'token': token},200 json{'status': 'exception','message': 'Exception('Invalid credentials')'}, 502 |
Удаление пользователя |
POST /api/user/delete Токен доступа существующего пользователя: json{"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."} |
HTTP-статус: 200; Тело ответа |
HTTP-статус: 403/502; Ответ в json; в поле exception: описание ошибки |
JSON | json{'status': 'success', 'message': 'User deleted successfully'},200 json{'status': 'error', 'message': 'token invalid'},403 json{'status': 'exception','message': 'Exception('An error occurred during user deletion')'}, 502 |
Получение списка всех пользователей |
POST /api/get_users Токен доступа существующего пользователя: json{"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."} |
HTTP-статус: 200; Тело ответа |
HTTP-статус: 403/502; Ответ в json; в поле exception: описание ошибки |
JSON | json{'id': 1, 'username': 'user1', 'email': '[email protected]'}, {'id': 2, 'username': 'user2', 'email': '[email protected]'} json{'status': 'error', 'message': 'token invalid'},403 json{'status': 'exception','message': 'Exception('An error occurred during getting data users')'}, 502 |
Обновление данных пользователя |
POST /api/user/update Токен доступа и обновляемые username / email / password: json{"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","key": <[email protected]>, "value": <[email protected]>} |
HTTP-статус: 200; Тело ответа |
HTTP-статус: 502; Ответ в json; в поле exception: описание ошибки |
JSON | json{'status': 'success'}, 200 json{'status': 'error', 'exception': 'Unsupported key type: only username, password, email'}, 502 json{'error': 'exception','exception': 'token invalid'}, 403 |