Built with Django and Django-REST-Framework
- Features
- Live Demo
- Installation guide
- Testing and Running Guide
- API Documentation
- Key Python Modules Used
- Reference Resources
- JWT Authentication
- Create, List, Read, Update and Delete Project.
- Create Project Tech-Stack
- Create, Update Project Images Demo.
- Create, List, Read, Update and Delete Article.
- Article HTML Editor.
- Create, Update Article Categories
- Create, Update Article Series
- Create, Delete Comments and Replies.
- Create, List, Read, Update and Delete profile
- Full Name,
- Title,
- Phone_number
- Display Image,
- Email,
- Description,
- Address
- Create, Update Resume/CV file
- Create, Update Social Links with their icons
- Send/Create Messages
- Create, List, Read, Update and Delete Technical Skills
- Create, List, Read, Update and Delete Professional Skills
- Create, List, Read, Update and Delete Service
- Name
- Description
- Create, List, Read, Update and Delete Education
- institution,
- location,
- study_area,
- study_type,
- start_date,
- end_date,
- gpa,
- description
- Create, List, Read, Update and Delete Work
- company,
- location,
- position,
- website,
- start_date,
- end_date
- Create, List, Read, Update and Delete Work Highlights
- Create, List, Read, Update and Delete Pricing
- Document apis with Postman
- Frontend with Angular
- Create and Send Notifications (Calery)
- Write tests
- Log Users/Device IP Address - Traffic
- Admin-Email Management
- Back-Up DB
- Separete Settings.py (Production, Development, Testing)
- 500 / 404 Error Display
- Hire Me feature
- Change id field to UUIDField
- Video Demo (Youtube)
- Image Demo
- Github Api
- Description MarkDown Editor
- Project-List Serializer should be minimal
- Project archive list
- Clicks and Article views
- Article Read time
- Article archive list
- Email Notification of new Messages
The projected is hosted at:
- BACKEND: https://elkanahmalonza.pythonanywhere.com/api/v1/
- FRONTEND: https://elkanahmalonza.netlify.app/
-
Installing the application locally requires
- Python 3.7+ - download and install it.
- virtualenv - To create a virtual environment and activate it, run the following commands.
python3 -m venv venv source venv/bin/activate
-
The project contains a
.env.sample
file at its root with the environment variables required to run the app. Copy the file and name it.env
, populating it with the correct values. NOTE: The 'SECRET_KEY' environment variables is a long random bytes or str. -
Install the project dependacies from requirements.txt by running the following command in shell:
pip install -r requirements.txt
- To activate the development server run:
python manage.py runserver
At this point, the development server should be accessible at http://127.0.0.1:8000/api/v1/
- Testing - To run all the tests:
python manage.py test
- POSTMAN Collection Docs Portfolio.postman_collection.json
- DRF Docs: http://127.0.0.1:8000/api/v1/
- OpenAPI Specification Docs: http://127.0.0.1:8000/?format=openapi-json
- Django(4.2.5): Django is a back-end server side web framework. Django is free, open source and written in Python. Django makes it easier to build web pages using Python.
- Django Rest Framework: Django Rest Framework (DRF) is a package built on the top of Django to create web APIs. DRF allows us to represent their functionality Django application in the form of REST APIs.
- flake8 - static analysis tool
Google’s GeoChart library to create an interesting map chart:
https://developers.google.com/chart/interactive/docs/gallery/geochart
class HasIDMixin(models.Model):
id = models.UUIDField(
primary_key=True,
default=uuid.uuid4,
editable=False,
unique=True,
name='id'
)