Simple photo-sharing social media platform built with LAMP Stack & Bootstrap
Momento is a simple full-stack social media platform built with PHP, MySQL, and Bootstrap, serving as an example of implementing the core functionalities within a social media platform.
- PHP
- MySQL
- HTML
- JavaScript
- CSS
- Bootstrap
- Cloudinary API
To install and set up the project, follow the instructions below:
Before you proceed with the installation, make sure you have the following prerequisites:
- PHP version 8.1 or greater.
- Composer.
- XAMPP, which can be downloaded from official website: https://www.apachefriends.org/
- Cloudinary account with API access keys. You can create a new account here: https://cloudinary.com/
- Open the Cloudinary Management Console by visiting the Cloudinary, go to Media Library, and create a folder called
momento
. - Inside the
momento
folder, create two additional folders calledposts
andprofile-pictures
. Momento will use these folders to store uploaded post images and user profile pictures.
- Clone the repository using
git clone https://github.com/emuel-vassallo/momento
- Move the project files to the appropriate directory:
- Windows: Extract the files to
C:\xampp\htdocs\momento
. - Linux: Extract the files to
/opt/lampp/htdocs/momento
. - Mac: Extract the files to
/Applications/XAMPP/htdocs/momento
.
- Windows: Extract the files to
- Start Apache and MySQL from XAMPP.
- Open your web browser and go to http://localhost/phpmyadmin. This will open the phpMyAdmin interface.
- Click on "New" on the left-hand side and create a new database named "momento_db".
- Click on "Import" at the top.
- Click "Browse" and select the
db_setup.sql
file from the cloned project directory'ssql
folder, then click the 'Import' button to import the database structure into the database. - (Optional) To include example profiles with posts, import the
data_insertions.sql
file from thesql
folder in the cloned project directory. - Rename the
.htaccess.example
file found in thepublic_html
folder to.htaccess
. - Open the
.htaccess
file and enter your Cloudinary API cloud name and access keys. For example:
# .htaccess
SetEnv CLOUDINARY_CLOUD_NAME "your_cloud_name"
SetEnv CLOUDINARY_API_KEY "your_api_key"
SetEnv CLOUDINARY_API_SECRET "your_api_secret"
Make sure to replace "your_cloud_name"
, "your_api_key"
, and "your_api_secret"
with your actual Cloudinary API credentials.
- Run the following command in the project root directory to install the required dependencies using Composer:
composer install
- Finally, navigate to http://localhost/momento in your web browser to run the Momento project on your localhost.
By following these steps, you will be able to run the Momento project on your local machine.
- Ability for users to customise their profiles, including profile pictures, display names, and bios.
- Allow users to modify and update their published posts.
- Instantly find users based on their usernames and display names with live search results.
- Powered by MiniSearch, enabling efficient and accurate search functionality within th🙏e app.
- Enable users to easily share the link of a post with others.
- Post liking
- Follow users
- Commenting system
- Dark theme toggle
- Notifications
- "See First" feature to prioritize specific accounts in the feed
- Choose interests on account creation
- Google sign-in
- Mass delete
- Multiple feed view modes
- NSFW content filter
- Pin posts on profile
- Post download
- Regram functionality to allow post sharing within the platform
- Reorder posts
- Schedule posts
- JustValidate: Enables smooth form validation and accurate user input in forms.
- Unsplash: Used for providing high quality and royalty-free images.