Skip to content

Umit8098/Project_Django_Rest_Framawork_Personnel_App_CH-12

Repository files navigation

Project_Django_Rest_Framework_Personnel_App

👥 A modern backend application that provides personnel management and authentication processes 👥

Table of Contents

API Documentation

You can access the detailed API documentation of the project from the links below:

Swagger Arayüzü

➡ Interface where you can easily test API endpoints.


Redoc Arayüzü

➡ Documentation tool that presents the API structure in a detailed and organized way.


Notes: You can access Swagger and Redoc documentation without any user login.

Not: Swagger ve Redoc dokümantasyonlarına herhangi bir kullanıcı girişi yapmadan erişebilirsiniz.

API Testing

To test APIs via Postman, you can follow the steps below:

  1. Install Postman (if not installed): Download Postman.
  2. This Postman Collection Download and import.
  3. Start testing APIs via Postman.

Postman Collection Link:
Personnel App API Postman Collection

Overview

Personnel App is a modern backend application where users can manage personnel records and perform authorization-based transactions. Key features of the application:

  • User Authorization: Different authorization levels for staff, superuser and normal user.
  • Personnel Management: Personnel adding, updating, deleting and listing operations.
  • Extended Profile Management: Profile creation and editing for each user.
  • Swagger and Redoc Support: Easy testing and integration with API documentation.
  • PostgreSQL Support: Reliable database management in the production environment.
  • Environment Settings: Separate environment settings management for production and development.

Personnel App, kullanıcıların personel kayıtlarını yönetebileceği ve yetki bazlı işlemler yapabileceği modern bir backend uygulamasıdır. Uygulamanın temel özellikleri:

  • Kullanıcı Yetkilendirme: staff, süper kullanıcı ve normal kullanıcı için farklı yetki seviyeleri.
  • Personel Yönetimi: Personel ekleme, güncelleme, silme ve listeleme işlemleri.
  • Genişletilmiş Profil Yönetimi: Her kullanıcı için profil oluşturulması ve düzenleme işlemleri.
  • Swagger ve Redoc Desteği: API dokümantasyonu ile kolay test ve entegrasyon.
  • PostgreSQL Desteği: Production ortamında güvenilir veritabanı yönetimi.
  • Environment Settings: Production ve development için ayrı ortam ayarlarları yönetimi

Project Swagger and Redoc Documentation Visual

Project Swagger and Redoc Documentation Visual

➡ Interface that allows you to easily test API endpoints.


User Authentication and Authorization

User/Authentication app testing on Postman

➡ Testing user authentication and authorization processes with Postman.


Personnel Management Test

Personnel app testing on Postman

➡ Screen for testing personnel management operations with Postman.


Project ER Diagram

Project ER Diagram

➡ ERD diagram showing the application's data model relationships.


  • API documentation detailed with Swagger and Redoc. You can access the documentation via the links below:

  • Personnel App is a modern backend application developed for users to register and manage personnel.

  • Provides CRUD operations specific to user and staff roles.

  • Supports more detailed editing of user information with extended profile management.

  • Swagger and Redoc were used for API documentation.

Built With

How To Use

  • For online demo: You can take a look at the Swagger and Redoc interfaces.

To clone and run this application, you'll need Git

When installing the required packages in the requirements.txt file, review the package differences for windows/macOS/Linux environments.

Complete the installation by uncommenting the appropriate package.


  • Çevrimiçi demo için: Swagger veya Redoc arayüzlerine göz atabilirsiniz.

requirements.txt dosyasındaki gerekli paketlerin kurulumu esnasında windows/macOS/Linux ortamları için paket farklılıklarını inceleyin.

Uygun olan paketi yorumdan kurtararak kurulumu gerçekleştirin.

How to Install and Run

  1. clone the repository:

    git clone https://github.com/Umit8098/Project_Django_Rest_Framawork_Personnel_App_CH-12.git
  2. Create and Activate Virtual Environment:

    python -m venv env
    env/Scripts/activate (Windows)
    source env/bin/activate (macOS/Linux)
  3. Install Dependencies:

    pip install -r requirements.txt
  4. Update Database with Migrations:

    python manage.py migrate
  5. Create the .env File:
    Add the necessary settings:

    SECRET_KEY = "your_secret_key_here"
    ENV = development
    # PostgreSQL
    SQL_DATABASE = your_database_name
    SQL_USER = your_database_user
    SQL_PASSWORD = your_database_password
    SQL_HOST = localhost
    SQL_PORT = 5432
    
    # Logging level
    DJANGO_LOG_LEVEL = WARNING
    
  6. Run the Application:

    python manage.py runserver

Now your application will run at http://127.0.0.1:8000/.

Test User Information

For the live demo, you can use the following test user information:

This user can only view inventory and add tasks.

Key Features

  • Personnel Management: Adding, updating and deleting personnel information.
  • Authorization: Different authorization levels for super user, staff and normal user.
  • User Profiles: Extended profile management for each user.
  • API Documentation: Extensive documentation with Swagger and Redoc.
  • Data Filtering: Advanced querying opportunity with django-filter.
  • PostgreSQL Support: Strong database support in the production environment.

  • Personel Yönetimi: Personel bilgilerini ekleme, güncelleme ve silme işlemleri.
  • Yetkilendirme: Süper kullanıcı, staff ve normal kullanıcı için farklı yetki seviyeleri.
  • Kullanıcı Profilleri: Her kullanıcı için genişletilmiş profil yönetimi.
  • API Dokümantasyonu: Swagger ve Redoc ile kapsamlı dokümantasyon.
  • Veri Filtreleme: django-filter ile gelişmiş sorgulama imkanı.
  • PostgreSQL Desteği: Production ortamında güçlü veritabanı desteği.

Contact