Skip to content

A Full Stack Application for Posting and Viewing Post. See more on the Readme.

License

Notifications You must be signed in to change notification settings

Solobarine/correo

Repository files navigation

Correo

Correo is a versatile social post app designed to foster meaningful interactions among users. It provides a range of features that include user authentication, post creation, like and dislike functionality, commenting, profile management, and email notifications. This document serves as a comprehensive guide to understanding and deploying the Correo application.

Table of Contents

Features

Correo boasts a broad spectrum of features that enhance the user experience:

  • User Authentication: Correo ensures a secure user registration and login system that protects user data and privacy.

  • Post Creation: Users can create engaging posts with titles and rich content. Express your thoughts, experiences, or ideas with ease.

  • Like and Unlike Posts: Interact with other users' posts by liking or unliking them, fostering engagement and feedback.

  • Commenting: Users can leave comments on posts, encouraging discussion and community-building.

  • Post and Comment Deletion: Maintain control over your content by deleting your own posts and comments.

  • Profile Viewing: Get to know your fellow users by viewing their profiles. You can also check your own profile to see your posts and activity.

  • Email Notifications: Users receive timely email notifications on successful registration, login, post likes, and comments.

  • Pagination: Manage large numbers of posts and comments effectively with the use of pagination, ensuring smooth navigation and performance.

  • Policies for Authorization: Implement robust authorization policies to control and manage user actions, providing a secure and trusted environment.

  • Reusable Components: Create a seamless and consistent user interface using reusable components, improving overall design and usability.

  • Route-Model Binding: Simplify the retrieval and manipulation of data from the database with Laravel's route-model binding.

  • Email Sending using Mailtrap: Utilize Mailtrap for email testing and debugging, guaranteeing reliable email delivery to users.

Technologies Used

Correo leverages a stack of modern technologies to deliver an efficient and robust user experience:

  • PHP: The backbone of the application, PHP is used to develop server-side logic, facilitating seamless data processing.

  • Laravel: A powerful PHP web application framework, Laravel is used to create feature-rich web applications that offer scalability and maintainability.

  • JavaScript: Employed on the client side to enhance interactivity, JavaScript is essential for creating dynamic user experiences.

  • Tailwind CSS: A utility-first CSS framework, Tailwind CSS helps design a modern and responsive user interface.

  • Postgres: PostgreSQL, often referred to as Postgres, is a powerful open-source relational database management system (RDBMS). It is known for its advanced features, extensibility, and a strong focus on data integrity

  • Mailtrap: This tool for email testing and debugging is integrated to manage email notifications, ensuring accurate email delivery to users.

Getting Started

To deploy Correo on your local development environment, follow these instructions:

Prerequisites

Before installing Correo, make sure you have the following software installed on your system:

  • PHP 8.0 or higher
  • Composer (PHP package manager)
  • Laravel CLI
  • Node.js and NPM (Node Package Manager)
  • Git
  • A database (e.g., Postgres, MySQL, MongoDB)

Installation

  1. Clone the Correo repository to your local system:

    git clone https://github.com/yourusername/correo.git
  2. Navigate to the project directory:

    cd correo
  3. Install PHP dependencies using Composer:

    composer install
  4. Install JavaScript dependencies using NPM:

    npm install
  5. Create a .env file by copying the example:

    cp .env.example .env
  6. Generate an application key:

    php artisan key:generate
  7. Configure your .env file to set up the database and email settings.

    • Run database migrations:

      php artisan migrate
    • Start the development server:

      php artisan serve
  8. Access the application in your web browser at this localhost port

Configuration

For a smooth setup and operation of Correo, take care of the following configurations:

  • Database Configuration: In the .env file, provide the necessary details for connecting to your database.

  • Mail Configuration: Configure the email settings, including the use of Mailtrap or your preferred email service.

  • Pagination Configuration: Adapt pagination settings within controllers and views as needed for efficient content management.

Usage

To start using Correo:

  • Register a new account or log in using an existing one.

  • Create posts, like and comment on posts, and view user profiles.

  • Stay updated with email notifications for various activities.

Backend Functionalities

Correo incorporates various backend functionalities for seamless operation:

User Authentication: The application employs Laravel's built-in authentication system, ensuring that user registration and login are secure and reliable.

Policies for Authorization: Policies and gates are set up to control user actions, allowing for appropriate management of posts and comments.

Pagination: Laravel's pagination features are utilized to effectively handle large datasets, guaranteeing user-friendly navigation.

Reusable Components: Blade templates and components are used to establish a consistent and reusable user interface for a cohesive design.

Route-Model Binding: Laravel's route-model binding simplifies the retrieval and manipulation of data, making data management efficient.

Email using Mailtrap: Mailtrap is integrated for testing and debugging email functionality, ensuring a seamless email experience.

Authors

Solomon Barine Akpuru

Contributing

If you're interested in contributing to Correo, we welcome your input. Please refer to our contribution guidelines to get started.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute the code according to the terms of the license. View the License Here.

Happy Posting!

About

A Full Stack Application for Posting and Viewing Post. See more on the Readme.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published