👥 A modern backend application that provides personnel management and authentication processes 👥
You can access the detailed API documentation of the project from the links below:

➡ Interface where you can easily test API endpoints.

➡ 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.
- Along with Swagger and Redoc documentation, you can use our Postman collection to test APIs. Personnel App API Postman Collection
To test APIs via Postman, you can follow the steps below:
- Install Postman (if not installed): Download Postman.
- This Postman Collection Download and import.
- Start testing APIs via Postman.
Postman Collection Link:
Personnel App API Postman Collection
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


➡ Interface that allows you to easily test API endpoints.


➡ Testing user authentication and authorization processes with Postman.


➡ Screen for testing personnel management operations with Postman.

➡ 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.
- Django Rest Framework - A powerful framework for developing REST APIs.
- Swagger And Redoc - API documentation and testing tools.
- Debug_Toolbar - A powerful tool for debugging operations.
- Logging - System logging modul
- dj-rest-auth - User authentication and authorization.
- django-filter - To facilitate data filtering operations.
- PostgreSQL - High performance database for production environment.
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.
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.
-
clone the repository:
git clone https://github.com/Umit8098/Project_Django_Rest_Framawork_Personnel_App_CH-12.git
-
Create and Activate Virtual Environment:
python -m venv env env/Scripts/activate (Windows) source env/bin/activate (macOS/Linux)
-
Install Dependencies:
pip install -r requirements.txt
-
Update Database with Migrations:
python manage.py migrate
-
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
-
Run the Application:
python manage.py runserver
Now your application will run at http://127.0.0.1:8000/
.
For the live demo, you can use the following test user information:
- Username: testuser
- Password: testpassword123
- Email: testuser@gmail.com
This user can only view inventory and add tasks.
- 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.
-
GitHub @Umit8098
-
Linkedin @umit-arat