- Use
node 18.xor higher. - Install dependencies:
$ npm install. - Start server:
$ npm run dev. - Now you can send requests to the address:
http://localhost:3005/
-
Creates a new user.
Details
-
Method
POST -
URL
/api/user/register -
Headers:
"Content-Type": "aplication/json" -
Data Params:
{ email: string; username: string; password: string; currency: string, }
-
Success Response:
- Code: 201 Created
Content:{ "message": "User successfully registered" }
- Code: 201 Created
-
Error Response:
- Code: 403 Forbidden
Content:{ "message": "A user with email already exists" } or { "message": "Registration error" }
- Code: 403 Forbidden
-
-
Login user.
Details
-
Method
POST -
URL
/api/user/login -
Headers:
"Content-Type": "aplication/json" -
Data Params:
{ email: string; password: string; }
-
Success Response:
- Code: 200 Ok
Content:{ "message": "Login successful", "token": "jwt token", "user": { "username": "Pavel", "email": "pavel@mail.ru", "currency": "USD", "avatar": "assets/avatars/default.svg", "phoneNumber": null } }
- Code: 200 Ok
-
Error Response:
- Code: 403 Forbidden
Content:{ "message": "Email: email not found" } or { "message": "Invalid password, please try again!" } or { "message": "Login error" }
- Code: 403 Forbidden
-
-
Updating user settings.
Details
-
Method
PATCH -
URL
/api/user/ -
Headers:
"Content-Type": "aplication/json""Authorization": "Bearer <-YOU TOKEN->"
-
Data Params:
{ username?: string; email?: string; currency?: string; avatar?: string; phoneNumber?: number | null; }
-
Success Response:
- Code: 200 Ok
Content:{ "user": { "username": "Pavel", "email": "pavel@mail.ru", "currency": "USD", "avatar": "assets/avatars/default.svg", "phoneNumber": 0 } "message": "Successfully updated" }
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Updating user password.
Details
-
Method
PATCH -
URL
/api/user/password -
Headers:
"Content-Type": "aplication/json""Authorization": "Bearer <-YOU TOKEN->"
-
Data Params:
{ password: string; }
-
Success Response:
- Code: 200 Ok
Content:{ "message": "Password successfully updated" }
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Creates a new expense
Details
-
Method
POST -
URL
/api/expense -
Headers:
"Content-Type": "aplication/json""Authorization": "Bearer <-YOU TOKEN->"
-
Data Params:
{ date: Date, account: string, category: string, expense: number, currency: string, comment?: string, }
-
Success Response:
- Code: 201 Created
Content:{ "date": "2023-02-23T18:25:43.511Z", "account": "cash", "category": "food", "expense": 100, "currency": "RUB", "comment": "supermarket Ashan", "userId": "63db54fe7332880adf6fef95", "_id": "63dde034bc46ae6546fcf533", }
- Code: 201 Created
-
Error Response:
- Code: 400 Bad Request
- Code: 400 Bad Request
-
-
Updating expense parametrs.
Details
-
Method
PATCH -
URL
/api/expense/:id -
Headers:
"Content-Type": "aplication/json""Authorization": "Bearer <-YOU TOKEN->"
-
Data Params:
{ date?: Date, account?: string, category?: string, expense?: number, currency?: string, comment?: string, }
-
Success Response:
- Code: 200 Ok
Content:{ "date": "2023-02-23T18:25:43.511Z", "account": "cash", "category": "food", "expense": 100, "currency": "RUB", "comment": "supermarket Ashan", "userId": "63db54fe7332880adf6fef95", "_id": "63dde034bc46ae6546fcf533", }
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Delete one expense by Id.
Details
-
Method
DELETE -
URL
/api/expense/:id -
Headers::
"Authorization": "Bearer <-YOU TOKEN->" -
Data Params: None
-
Success Response:
- Code: 200 Ok
Content:{ "response": "Expense deleted successfully" }
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Get one expense by Id.
Details
-
Method
GET -
URL
/api/expense/:id -
Headers:: None
-
Data Params: None
-
Success Response:
- Code: 200 Ok
Content:{ "date": "2023-03-23T18:25:43.511Z", "account": "cash", "category": "food", "expense": 100, "currency": "RUB", "comment": "supermarket", "userId": "63dddea9bc46ae6546fcf52b", "_id": "63dde034bc46ae6546fcf533", }
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Get all user expenses.
Details
-
Method
GET -
URL
/api/expense -
Headers::
"Authorization": "Bearer <-YOU TOKEN->" -
Query Params: Optional:
_startDate=[string]
_endDate=[string]
_account=[string]
_category=[string]
_currency=[string]
_page=[integer]
_limit=[integer]
_sort=['date' | 'expense' | 'category']
_order=['ASC' | 'DESC']
-
Data Params: None
-
Success Response:
- Code: 200 Ok
Content:[ { "expense-1" }, { "expense-n" } ]
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Creates a new money income
Details
-
Method
POST -
URL
/api/income -
Headers:
"Content-Type": "aplication/json""Authorization": "Bearer <-YOU TOKEN->"
-
Data Params:
{ date: Date, account: string, income: number, currency: string, comment?: string, }
-
Success Response:
- Code: 201 Created
Content:{ "date": "2023-01-23T18:25:43.511Z", "account": "cash", "income": 100, "currency": "RUB", "comment": "", "userId": "63de2f91f7216c0c8cb4f290", "_id": "63de3fdbdafedd703299ad96", }
- Code: 201 Created
-
Error Response:
- Code: 400 Bad Request
- Code: 400 Bad Request
-
-
Updating income parametrs.
Details
-
Method
PATCH -
URL
/api/income/:id -
Headers:
"Content-Type": "aplication/json""Authorization": "Bearer <-YOU TOKEN->"
-
Data Params:
{ date?: Date, account?: string, income?: number, currency?: string, comment?: string, }
-
Success Response:
- Code: 200 Ok
Content:{ "_id": "63de3fdbdafedd703299ad96", "date": "2023-01-23T18:25:43.511Z", "account": "cash", "income": 100, "currency": "RUB", "comment": "", "userId": "63de2f91f7216c0c8cb4f290", }
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Delete one income by Id.
Details
-
Method
DELETE -
URL
/api/income/:id -
Headers::
"Authorization": "Bearer <-YOU TOKEN->" -
Data Params: None
-
Success Response:
- Code: 200 Ok
Content:{ "response": "Income deleted successfully" }
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Get one income by Id.
Details
-
Method
GET -
URL
/api/income/:id -
Headers:: None
-
Data Params: None
-
Success Response:
- Code: 200 Ok
Content:{ "_id": "63de3fdbdafedd703299ad96", "date": "2023-01-23T18:25:43.511Z", "account": "cash", "income": 100, "currency": "RUB", "comment": "", "userId": "63de2f91f7216c0c8cb4f290", "__v": 0 }
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Get all user incomes.
Details
-
Method
GET -
URL
/api/income- Query Params: Optional:
_startDate=[string]
_endDate=[string]
_account=[string]
_currency=[string]
_page=[integer]
_limit=[integer]
_sort=['date' |'income']
_order=['ASC' | 'DESC']
-
Headers::
"Authorization": "Bearer <-YOU TOKEN->" -
Data Params: None
-
Success Response:
- Code: 200 Ok
Content:[ { "income-1" }, { "income-n" } ]
- Code: 200 Ok
-
Error Response:
-
Code: 404 Not found
or
-
Code: 400 Bad Request
-
-
-
Send message to telegram
Details
-
Method
POST -
URL
/api/message -
Headers:
"Content-Type": "aplication/json" -
Data Params:
{ "email": "string", "username": "string", "message": "string" }
-
Success Response:
- Code: 200 OK
Content:{ "message": "Message sent successfully" }
- Code: 200 OK
-
Error Response:
- Code: 403 Forbidden
Content:{ "message": "Message server error" }
- Code: 403 Forbidden
-