Giter Club home page Giter Club logo

elkanah-malonza-portfolio's Introduction

PORTFOLIO_API

Built with Django and Django-REST-Framework

Table of Contents

Features

Implemented

Auth

  1. JWT Authentication

Projects

  1. Create, List, Read, Update and Delete Project.
  2. Create Project Tech-Stack
  3. Create, Update Project Images Demo.

Blog

  1. Create, List, Read, Update and Delete Article.
  2. Article HTML Editor.
  3. Create, Update Article Categories
  4. Create, Update Article Series
  5. Create, Delete Comments and Replies.

Profile

  1. Create, List, Read, Update and Delete profile
  • Full Name,
  • Title,
  • Phone_number
  • Display Image,
  • Email,
  • Description,
  • Address
  1. Create, Update Resume/CV file
  2. Create, Update Social Links with their icons

Contact-Me

  1. Send/Create Messages

Skills

  1. Create, List, Read, Update and Delete Technical Skills
  2. Create, List, Read, Update and Delete Professional Skills

Service

  1. Create, List, Read, Update and Delete Service
  • Name
  • Description

Education

  1. Create, List, Read, Update and Delete Education
  • institution,
  • location,
  • study_area,
  • study_type,
  • start_date,
  • end_date,
  • gpa,
  • description

Work

  1. Create, List, Read, Update and Delete Work
  • company,
  • location,
  • position,
  • website,
  • start_date,
  • end_date
  1. Create, List, Read, Update and Delete Work Highlights

Pricing

  1. Create, List, Read, Update and Delete Pricing

Todo

General

  • 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

Auth

Project

  • Video Demo (Youtube)
  • Image Demo
  • Github Api
  • Description MarkDown Editor
  • Project-List Serializer should be minimal
  • Project archive list

Blog

  • Clicks and Article views
  • Article Read time
  • Article archive list

Contact-Me

  • Email Notification of new Messages

Live Demo

The projected is hosted at:

Installation Guide

Dependacies Installation

  • Installing the application locally requires

    1. Python 3.7+ - download and install it.
    2. 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

Testing and Running Guide

  1. 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/

  1. Testing - To run all the tests:
python manage.py test

API Documentation

Key Python Modules Used

  • 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

Reference Resources

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'
    )

elkanah-malonza-portfolio's People

Contributors

malonzaelkanah avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.