Skip to content

laravel postmen managing subscriptions and publications system

Notifications You must be signed in to change notification settings

my-ihq-prf/laravel_10_x_back_end_postmen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Logo

Build Status Total Downloads Latest Stable Version License

Managing Subscriptions and Publications System

IMAGE

About project

  • This project is a subscription and publication management system that provides users with the ability to subscribe to various subscription plans, create publications, and view active publications.

Task description:

Implementation the functionality of using PHP to create an API for article publication with subscription plans. Here's an outline of the involved steps:

  1. Registration:

    • Registration form where users can sign up with their email and password.
    • Storing the user's registration details in a database.
  2. Subscription Plans:

    • Permits for system administrator to define and manage subscription plans dynamically.
    • Each plan has attributes such as name, cost, number of available publications, and an activation switch.
    • Storing the subscription plans in a database table.
  3. Subscription Management:

    • Each user can have only one active plan at a time.
    • When a user subscribes to a plan, update their user record in the database to reflect the chosen plan.
    • Switch of the plan's activation to "active" after payment confirmation.
  4. Publication Creation:

    • Permits for users to make their publications.
    • Publish their publications in a database table.
    • Alter the status field of the publication table to indicate whether the publication is a draft or active.
  5. Publication Display:

    • Blog-like feed to appear in all active publications.
    • Search filters for highlights for publications by title, creator, identifier, and distribution date.
    • Publication retrieve incorporate for germane dates from the database based on the chosen filters.

This API allows users to subscribe to plans, create posts, and view posts in a feed with search and filter capabilities. Securely manage database interactions, validate user input to ensure data integrity, and prevent security vulnerabilities.

1.Subscription Plans

The system administrator has the ability to dynamically define and manage subscription plans. Each plan has its attributes, such as name, cost, number of available publications, and an activation switch. Information about subscription plans is stored in a database table.

2.Subscription Management

Each user can have only one active subscription plan at a time. After a user subscribes to a plan, their record in the database is updated to reflect the chosen plan. Once payment is confirmed, the activation switch of the plan is set toactive".

3.Publication Creation

Users are provided with the ability to create publications. The details of the publications are stored in a database table. Additionally, the publications table has a status field that indicates whether the publication is a draft or active.

4.Displaying Publications

To display all active publications, a feed similar to a blog is created. Furthermore, filters are implemented to search for publications by title, author, identifier, and publication date. Using these filters, relevant publications can be retrieved from the database.

5.API Documentation

  • The project's API is documented using Postman for testing and documenting the API. This allows us to make requests to the API and verify their responses. All available endpoints, parameters, and API responses are described using Postman.

Requirements

  • PHP = ^8.2
  • Laravel Framework = ^10.*
  • MySql = ^8.0

Installation:

composer i
# Optional
npm i
  • .env:
# copy .env.example -> .env
# Replace by yours
APP_URL=[HOST_URL]
DB_DATABASE=[DATABASE_URL]
  • generate key:
php artisan key:generate --force
  • migrate with demo datas:
php artisan migrate:fresh --seed
  • in postman_collection.v3.json:
// Replace by yours
// [HOST_URL]

	"variable": [
		{
			"key": "BASE_URL",
			"value": "[HOST_URL]",
			"type": "string"
		},
		{
			"key": "TOKEN",
			"value": ""
		}
	]
  • import postman_collection.v4.json from your` Postman

This project provides an efficient way to manage subscriptions and publications, offering a user-friendly interface for both users and the system administrator. With this system, users can easily subscribe to plans, create publications, and view active publications.

About

laravel postmen managing subscriptions and publications system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages