https://github.com/samuelmaiko/portfolio-backend
A Django backend for my portfolio, handling API requests and serving dynamic content.
https://github.com/samuelmaiko/portfolio-backend
backend django drf portfolio pythonanywhere swagger
Last synced: 10 months ago
JSON representation
A Django backend for my portfolio, handling API requests and serving dynamic content.
- Host: GitHub
- URL: https://github.com/samuelmaiko/portfolio-backend
- Owner: SamuelMaiko
- License: mit
- Created: 2025-02-21T07:54:15.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-08T21:19:27.000Z (11 months ago)
- Last Synced: 2025-07-08T22:27:14.568Z (11 months ago)
- Topics: backend, django, drf, portfolio, pythonanywhere, swagger
- Homepage: https://maikoportfolio.pythonanywhere.com/api/
- Size: 2.71 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Portfolio Backend ยท [](LICENSE)
This is the backend for my portfolio site, built using **Django** and **Django REST Framework (DRF)**.
It serves API endpoints for my portfolio during build time.
## Technologies Used
- Django
- Django REST Framework (DRF)
- MySQL.
## Setup & Installation
- Clone the repository and install dependencies:
```
https://github.com/SamuelMaiko/portfolio-backend.git
```
- Then navigate to the project directory and create a virtual environment and activate it:
```
cd your-backend-repo
python -m venv venv
```
- On Windows
```
venv\Scripts\activate
```
- On macOS/Linux
```
source venv/bin/activate
```
- Install dependencies
```
pip install -r requirements.txt
```
- Apply migrations
```
python manage.py migrate
```
- Create a super user
```
python manage.py createsuperuser
```
- Run development server
```
python manage.py runserver
```
Then visit: ๐ http://127.0.0.1:8000
## API Endpoints
| Method | Endpoint | Description |
| ------ | ------------------------------- | ----------------------------------------------------------------------------------- |
| GET | `/api/portfolio/` | Fetches all portfolio data such as projects, skills, contact details, education etc |
| POST | `/api/contactme/receive-email/` | Receives email from frontend stores it and sends it to owner email |
โก **All these endpoints generate JSON data used by the frontend during build time.**
***
## Deployment
This backend is deployed on **[PythonAnywhere](https://www.pythonanywhere.com/)** ๐
You can access the live API at:
๐ https://maikoportfolio.pythonanywhere.com/admin/