Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/emmmabk/alif

🔒🌐 'Authorization Alif' - A Django-based app for secure user auth, email confirmation, and news management using Django & REST framework. Empowering seamless user experiences and efficient news handling.
https://github.com/emmmabk/alif

authentication authorization backend-development django-rest-framework news-management rest-api user-management

Last synced: 3 months ago
JSON representation

🔒🌐 'Authorization Alif' - A Django-based app for secure user auth, email confirmation, and news management using Django & REST framework. Empowering seamless user experiences and efficient news handling.

Awesome Lists containing this project

README

        

# Alif Project đŸ’ģ🚀
![News](https://i.ibb.co/0h5NvqL/Purple-Modern-Breaking-News-Free-Instagram-Post.png)
## Table of Contents
1. [Overview](#overview)
2. [Project Setup](#project-setup)
- [Requirements](#requirements)
- [Installation](#installation)
- [Database Setup](#database-setup)
3. [API Endpoints](#api-endpoints)
4. [Models and Serializers](#models-and-serializers)
5. [Views](#views)
6. [Routes](#routes)
7. [Documentation](#documentation)

## 1. Overview ℹī¸
The "Authorization Alif" project is a Django application designed for user authentication, user management, email confirmation, password management, and news management using Django and Django REST framework.

## 2. Project Setup 🛠ī¸
### Requirements ℹī¸
Before you begin, ensure you have the following installed on your system:
- Python
- Django
- Python packages listed in `requirements.txt`

### Installation ⚙ī¸
1. **Clone this repository to your local machine:**
```bash
git clone https://github.com/EMMMABK/authorization-alif.git
```
2. **Navigation** đŸšļ
```bash
cd authorization-alif
```
3. **Install the required packages** đŸ“Ļ
```bash
pip install -r requirements.txt
```

## 3. Database Setup 🗃ī¸
By default, this project uses SQLite as the database. You can change the database settings in `settings.py`.
* Apply database migrations:
```bash
python manage.py migrate
```
* Create a superuser for admin access:
```bash
python manage.py createsuperuser
```
* Start the development server:
```bash
python manage.py runserver
```

## 4. API Endpoints 🌐
The project provides the following API endpoints:

* User Authentication and Management
* POST /api/login/: User login.
* POST /api/register/: User registration.
* POST /api/email-confirmation/: Email confirmation.
* POST /api/password-change/: Password change.
* POST /api/password-reset/: Password reset.
* PUT /api/user/update//: Update user profile.
* GET /api/users/: Get a list of users.
* GET /api/user//: Get user details.
* News Management
* GET /api/news/: Get a list of news.
* POST /api/news/create/: Create news.
* GET /api/news//: Get news details.
* PUT /api/news//: Update news.
* DELETE /api/news//: Delete news.

## 5. Models and Serializers 📋
### User Model 👤
* The User model represents a user in the application.
* Fields include: email, name, surname, phone_number, is_active, is_staff, password, and more.
* Serializers: UserSerializer, UserRegistrationSerializer, EmailConfirmationSerializer, PasswordChangeSerializer, PasswordResetSerializer, UserUpdateSerializer, UserFilterSerializer.

### News Model 📰
* The News model represents a news article.
* Fields include: image, title, content, and created_at.
* Serializers: NewsSerializer, NewsCreateSerializer.

## 6. Views 👀
Views in this project handle the logic for API endpoints. Important views include user authentication, registration, email confirmation, password management, and news management.

## 7. Routes đŸ›Ŗī¸
URL routes are defined in `urls.py`. They map views to specific endpoints and HTTP methods.

## 8. Documentation 📄
For detailed API documentation, see the official Django REST framework documentation. You can also refer to the comments within the code for more information on each API endpoint's usage.

Please note: It's important to keep your SECRET_KEY and other sensitive information secure, especially in a production environment.

Feel free to customize this README.md to suit your project's specific requirements, and add any additional information or instructions as necessary.

Make sure to replace `"https://github.com/EMMMABK/authorization-alif.git"` with the actual URL of your project's repository if it's hosted on a platform like GitHub. Additionally, customize any other parts of the README to match your project's specific needs.