Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/1995parham-teaching/fandogh
Backend implementation demonstration in go with JWT, MongoDB, etc.
https://github.com/1995parham-teaching/fandogh
go golang golang-examples golang-server
Last synced: about 14 hours ago
JSON representation
Backend implementation demonstration in go with JWT, MongoDB, etc.
- Host: GitHub
- URL: https://github.com/1995parham-teaching/fandogh
- Owner: 1995parham-teaching
- License: gpl-3.0
- Created: 2021-06-25T14:23:34.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-28T07:35:14.000Z (over 1 year ago)
- Last Synced: 2024-06-21T18:12:48.483Z (3 months ago)
- Topics: go, golang, golang-examples, golang-server
- Language: Go
- Homepage:
- Size: 137 KB
- Stars: 19
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Fandogh 🌰
## APIs
Register new user with JSON request as follows:
```bash
curl 127.0.0.1:1378/register -X POST -d '{ "email": "[email protected]", "name": "Parham Alvani", "password": "123456" }' -H 'Content-Type: application/json'
``````json
{
"Email": "[email protected]",
"Password": "123456",
"Name": "Parham Alvani"
}
```Login into system and getting the token:
```bash
curl 127.0.0.1:1378/login -X POST -d '{ "email": "[email protected]", "password": "123456" }' -H 'Content-Type: application/json'
``````json
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ1c2VyIiwiZXhwIjoxNjI1MzU4MDQ1LCJqdGkiOiI4NTYxYzA4NC1kYzAxLTQ0ZmEtODEyZS05ZjNhZDJlNDcxNTAiLCJpYXQiOjE2MjUzNTQ0NDUsImlzcyI6ImZhbmRvZ2giLCJuYmYiOjE2MjUzNTQ0NDUsInN1YiI6InBhcmhhbS5hbHZhbmlAZ21haWwuY29tIn0.hUiEGqQxCSTQOFDPBypKkdI85q7TxSGENY6IwA2QR7E",
"Email": "[email protected]",
"Password": "123456",
"Name": "Parham Alvani"
}
```Creating new home requires using the POST request with form data because it contains images:
```bash
curl -vvv 127.0.0.1:1378/api/homes -X POST -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ1c2VyIiwiZXhwIjoxNjI1Mzc5MDE3LCJqdGkiOiI4NDRhMzQ4Yy03OGVjLTRlNTctODJhZi03YjU3NTNmNjk5ZjciLCJpYXQiOjE2MjUzNzU0MTcsImlzcyI6ImZhbmRvZ2giLCJuYmYiOjE2MjUzNzU0MTcsInN1YiI6InBhcmhhbS5hbHZhbmlAZ21haWwuY29tIn0.EZUWQ-sLP1ClA0vtK6vZEcQ4qf3ZaBm9VpFV6smEwUc' -F 'title=sweet' -F 'location=italy' -F 'description=a place to live' -F 'peoples=3' -F 'room=good' -F 'bed=single' -F 'rooms=4' -F'bathrooms=1' -F'contract=good' -F'price=100' -F'security_deposit=1000' -F'photos=1,2' -F'[email protected]' -F'[email protected]'
``````json
{
"ID": "60e1535541e125c415973cd2",
"Owner": "[email protected]",
"Title": "sweet",
"Location": "italy",
"Description": "a place to live",
"Peoples": 3,
"Room": "good",
"Bed": 1,
"Rooms": 4,
"Bathrooms": 1,
"Smoking": false,
"Guest": false,
"Pet": false,
"BillsIncluded": false,
"Contract": "good",
"SecurityDeposit": 1000,
"Photos": {
"1": "60e1535541e125c415973cd2_1",
"2": "60e1535541e125c415973cd2_2"
},
"Price": 100
}
```