Giter VIP home page Giter VIP logo

content-subscription-platform's Introduction

Content Subscription Platform

This Laravel project is designed to allow users to subscribe to websites and receive notifications via email whenever new posts are published. It includes functionalities for creating posts, subscriptions, and handling background email notifications.

Features

  • Create Posts: Admins can add new posts to their subscribed websites.
  • Subscribe: Users can subscribe to websites to receive updates.
  • API Documentation: Automatically generated with Scribe.
  • Automated Tests:
  • Email Notifications: Subscribers receive email notifications about new posts asynchronously through queued jobs intiated through laravel's command utility.

Prerequisites

What things you need to install the software and how to install them:

  • PHP >= 7.4
  • Composer
  • Laravel >= 11.0
  • A database system (MySQL, PostgreSQL)
  • Node.js and NPM (for compiling assets)

Getting Started

Clone the project repository by running the command below if you use SSH

git clone [email protected]:justbriang/Content-Subscription-Platform.git

If you use https, use this instead

git clone https://github.com/justbriang/Content-Subscription-Platform.git

After cloning,run:

composer install

Duplicate .env.example and rename it .env

Then run:

  • setup your environement variable for your database and meilisearch

  • Run:

    php artisan key:generate
  • Run Database Migrations and Seeders

  • Be sure to fill in your database details in your .env file before running the migrations:

    php artisan migrate --seed
  • To run tests , execute:

    php artisan test
  • And finally, start the application:

    php artisan serve
  • visit http://localhost:8000/ to see the application in action.

Alternatively, check out this repo here[https://github.com/justbriang/laravel-docker-local-env] for a template that I use to run laravel application on docker Instructions on how to set it up are on the repository.

##Usage

  • Generate API Documentation

    composer require --dev knuckleswtf/scribe
  • Publish the config file by running:

    php artisan vendor:publish --tag=scribe-config
  • Generate API Documentation

    php artisan scribe:generate
    
  • visit http://localhost:8000/docs/index.html/ to see the api documentation in action.

To interact with the API, you can use a tool like Postman. Start by creating a website using the relevant API endpoint. Once the website is created, take note of the returned website ID, as you will use this to create a new post. After creating a post, you can proceed to create a subscription by using the website ID.

After setting up posts and subscriptions, execute the following command to send out notifications to all subscribers:

php artisan app:send-post-notifications

content-subscription-platform's People

Contributors

justbriang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.