Visit our API here!
- Clone the repository
CD
into the root directory- Create and activate the virtual environment
$ python3 -m venv .venv
$ source .venv/bin/activate
-
Install requirements with
pip install -r requirements.txt
-
Run
$ touch grant_guru_be/.env
to create a.env
environment variable file in the grant_guru_be directory -
Add your database environment variables to the
.env
file
SECRET_KEY=<django-insecure>
DB_NAME=<your_database_name>
DB_USER=<your_database_user>
DB_PASSWORD=<your_database_password>
DB_HOST=<your_database_host>
PORT=<your_database_port>
- Run migrations
python3 manage.py migrate
- Start the server
python3 manage.py runserver
Details
GET /api/v1/users/:user_id
Details
Code | Description |
---|---|
200 | OK |
Example Response:
{
"data": {
"id": "1",
"type": "user",
"attributes": {
"first_name": "Hugh",
"last_name": "Jackman",
"image_url": "http://www.image-url.com"
}
}
"relationships": {
"grants": {
"data": [
{
"type": "Grant",
"id": "2"
},
{
"type": "Grant",
"id": "3"
},
{
"type": "Grant",
"id": "4"
},
{
"type": "Grant",
"id": "52"
}
],
"meta": {
"count": 4
}
}
}
}
GET /api/v1/users/:id/favorites
Details
Code | Description |
---|---|
200 | OK |
Example Response:
{
"data": [
{
"id": "1",
"type": "scholarship",
"attributes": {
"title": "Female Privacy Leaders Scholarship",
"organization": "Women in Security and Privacy (WISP)",
"amount": "1234",
"description": "Lorem ipsum dolor sit amet, ...",
"deadline": "March 01, 2023",
"education": "Graduate",
"state": "Colorado",
"women": "False",
"lgbt": "True",
"ethnicity": [
"Black",
"Hispanic"
],
"veteran": "False",
"immigrant": "True",
"url": "https://linkedin.com/...",
"image_url": "https://shutter_stock_static_image"
}
},
{
"id": "2",
"type": "scholarship",
"attributes": {
"title": "RailsConf 23",
"organization": "Ruby Central",
"amount": "1234",
"description": "Lorem ipsum dolor sit amet, ...",
"deadline": "March 01, 2023",
"education": "Graduate",
"state": "",
"women": "False",
"lgbt": "True",
"ethnicity": [],
"veteran": "False",
"immigrant": "True",
"url": "https://linkedin.com/...",
"image_url": "https://static_image.wow_nice"
}
},
{...},
{...}
]
}
GET /api/v1/scholarships
Details
Parameters:
education=string
gender=string
state=string
lgbt=bool
ethnicity=array
veteran=bool
immigrant=bool
Code | Description |
---|---|
200 | OK |
Example Response:
{
"data": [
{
"id": "1",
"type": "scholarship",
"attributes": {
"title": "Female Privacy Leaders Scholarship",
"organization": "Women in Security and Privacy (WISP)",
"amount": "1234",
"description": "Lorem ipsum dolor sit amet, ...",
"deadline": "March 01, 2023",
"education": "Graduate",
"state": "Colorado",
"women": "False",
"lgbt": "True",
"ethnicity": [
"Black",
"Hispanic"
],
"veteran": "False",
"immigrant": "True",
"url": "https://linkedin.com/...",
"image_url": "https://shutter_stock_static_image"
}
},
{
"id": "2",
"type": "scholarship",
"attributes": {
"title": "RailsConf 23",
"organization": "Ruby Central",
"amount": "1234",
"description": "Lorem ipsum dolor sit amet, ...",
"deadline": "March 01, 2023",
"education": "Graduate",
"state": "",
"women": "False",
"lgbt": "True",
"ethnicity": [],
"veteran": "False",
"immigrant": "True",
"url": "https://linkedin.com/...",
"image_url": "https://static_image.wow_nice"
}
},
{...},
{...}
]
}
GET /api/v1/scholarships/:id
Details
Code | Description |
---|---|
200 | OK |
Example Response:
{
"data": {
"id": "1",
"type": "scholarship",
"attributes": {
"title": "Female Privacy Leaders Scholarship",
"organization": "Women in Security and Privacy (WISP)",
"amount": "1234",
"description": "Lorem ipsum dolor sit amet, ...",
"deadline": "March 01, 2023",
"education": "Graduate",
"state": "Colorado",
"women": "False",
"lgbt": "True",
"ethnicity": [
"Black",
"Hispanic"
],
"veteran": "False",
"immigrant": "True",
"url": "https://linkedin.com/...",
"image_url": "https://shutter_stock_static_image"
}
}
}
POST /api/v1/users/:user_id/scholarships/:scholarship_id
Details
Code | Description |
---|---|
201 | created |
Example Response:
{
"data": {
"id": "1",
"type": "scholarship",
"attributes": {
"title": "Female Privacy Leaders Scholarship",
"organization": "Women in Security and Privacy (WISP)",
"amount": "1234",
"description": "Lorem ipsum dolor sit amet, ...",
"deadline": "March 01, 2023",
"education": "Graduate",
"state": "Colorado",
"women": "False",
"lgbt": "True",
"ethnicity": [
"Black",
"Hispanic"
],
"veteran": "False",
"immigrant": "True",
"url": "https://linkedin.com/...",
"image_url": "https://shutter_stock_static_image"
}
}
}
DELETE /api/v1/users/:user_id/scholarships/:scholarship_id
Details
Code | Description |
---|---|
200 | OK |
Example Response:
{
"data": {
"id": "1",
"type": "scholarship",
"attributes": {
"title": "Female Privacy Leaders Scholarship",
"organization": "Women in Security and Privacy (WISP)",
"amount": "1234",
"description": "Lorem ipsum dolor sit amet, ...",
"deadline": "March 01, 2023",
"education": "Graduate",
"state": "Colorado",
"women": "False",
"lgbt": "True",
"ethnicity": [
"Black",
"Hispanic"
],
"veteran": "False",
"immigrant": "True",
"url": "https://linkedin.com/...",
"image_url": "https://shutter_stock_static_image"
}
}
}
All participants in this project are graduates from the Turing School of Software & Design.
Kaylah Rose Mitchell
GitHub: @kaylahrose
LinkedIn: kaylahrose
Matisse Mallette
GitHub: @MatisseMallette
LinkedIn: matisse-mallette
Sergio Azcona
GitHub: @Sergio-Azcona
LinkedIn: sergio-azcona
Drew Layton
GitHub: @dlayton66
LinkedIn: drew-layton