https://github.com/solobarine/correo
A Full Stack Application for Posting and Viewing Post. See more on the Readme.
https://github.com/solobarine/correo
javascript laravel php postgresql tailwindcss
Last synced: 2 months ago
JSON representation
A Full Stack Application for Posting and Viewing Post. See more on the Readme.
- Host: GitHub
- URL: https://github.com/solobarine/correo
- Owner: Solobarine
- License: mit
- Created: 2023-10-29T11:05:31.000Z (over 2 years ago)
- Default Branch: dev
- Last Pushed: 2023-11-05T09:18:21.000Z (over 2 years ago)
- Last Synced: 2025-03-29T11:42:08.650Z (about 1 year ago)
- Topics: javascript, laravel, php, postgresql, tailwindcss
- Language: PHP
- Homepage:
- Size: 140 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 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](#features)
- [Technologies Used](#technologies-used)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [Backend Functionalities](#backend-functionalities)
- [Author](#authors)
- [Contributing](#contributing)
- [License](#license)
## 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:
```bash
git clone https://github.com/yourusername/correo.git
```
2. Navigate to the project directory:
```bash
cd correo
```
3. Install PHP dependencies using Composer:
```bash
composer install
```
4. Install JavaScript dependencies using NPM:
```bash
npm install
```
5. Create a .env file by copying the example:
```bash
cp .env.example .env
```
6. Generate an application key:
```bash
php artisan key:generate
```
7. Configure your .env file to set up the database and email settings.
- Run database migrations:
```bash
php artisan migrate
```
- Start the development server:
```bash
php artisan serve
```
8. Access the application in your web browser at this [localhost port](http://localhost:8000)
## 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**
- [github handle](https://github.com/solobarine)
- [linkedin handle](https://linkedin.com/in/solomon-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](./LICENSE).
Happy Posting!