Skip to content

API of the Social Network for publishing personal diaries

License

Notifications You must be signed in to change notification settings

dev-lymar/JornalY_API

Repository files navigation

Python Django REST Framework PostgreSQL Docker Docker Compose Nginx Psycopg2-binary Gunicorn djoser

Flake8 isort

JornalY_API

Table of contents:

Project Description

Built with Django 5 and Django REST Framework (DRF), this web application offers robust functionality for managing users, posts, and social interactions through a RESTful API.

Key features include:

Post Management

  • Create Posts: Users can create new posts and attach images to them.
  • Edit Posts: Authors can edit the content of their own posts.
  • Comments: Users can add comments to posts.
  • Tags: Users can create and assign tags to posts to categorize content.

Social Features

  • Subscriptions: Users can subscribe to and unsubscribe from other authors to follow their posts.

Testing

  • All features have been thoroughly tested to ensure reliability and functionality.

Getting Started

To get started with the project, follow these steps:

  1. Clone the repository and navigate to the project directory:
git clone https://github.com/dev-lymar/JornalY_API.git
cd JornalY_API
  1. Configure .env
replace env.example with your data
  1. Install Docker and Docker Compose for your operating system.

  2. Start the project from root directory:

docker-compose up -d --build
  1. Execute the commands one at a time:
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuser
docker-compose exec web python manage.py collectstatic --no-input

Open your web browser and navigate to http://localhost:80 to access the application.

Usage

Once the development server is running, you can access the API at http://127.0.0.1:80/. You can use tools like curl, Postman, or any REST client to interact with the API endpoints.

For example, to view the list of posts, you can send a GET request to /api/v1/posts/, and you will receive a list of posts.

Contributing

If you would like to contribute to this project, please fork the repository and submit a pull request. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under the MIT License. See the LICENSE file for details.