Simple Social Network
Fav Quote is a Micro Social Network developed in PHP, MySQL (PDO_MYSQL Controller for the connection), Bootstrap 3 and Vue.JS 2. This project don’t use classes or a php framework.
To validate the login forms uses the validator for bootstrap
Getting Started
This page will help you get started with Fav Quote (Simple Social Network).
Requirements
- PHP 5.6
- MySQL or MariaDB
- Apache Server
Installation
Create a database
Run the following SQL script
-- -----------------------------------------------------
-- Schema NETWORK
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `NETWORK` DEFAULT CHARACTER SET utf8 ;
USE `NETWORK` ;
-- -----------------------------------------------------
-- Table `NETWORK`.`COUNTRIES`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `NETWORK`.`COUNTRIES` (
`ID_COUNTRY` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`ISO` VARCHAR(2) NOT NULL,
`COUNTRY` VARCHAR(80) NOT NULL,
PRIMARY KEY (`ID_COUNTRY`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `NETWORK`.`USERS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `NETWORK`.`USERS` (
`ID_USER` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`GUID` VARCHAR(20) NOT NULL,
`USERNAME` VARCHAR(20) NOT NULL,
`PASSWORD` VARCHAR(255) NOT NULL,
`CREATED_AT` DATE NOT NULL,
`ID_COUNTRY` INT UNSIGNED NOT NULL,
PRIMARY KEY (`ID_USER`),
UNIQUE INDEX `ID_USER_UNIQUE` (`ID_USER` ASC),
UNIQUE INDEX `USER_UNIQUE` (`USERNAME` ASC),
UNIQUE INDEX `GUID_UNIQUE` (`GUID` ASC),
INDEX `fk_USERS_COUNTRIES1_idx` (`ID_COUNTRY` ASC),
CONSTRAINT `fk_USERS_COUNTRIES1`
FOREIGN KEY (`ID_COUNTRY`)
REFERENCES `NETWORK`.`COUNTRIES` (`ID_COUNTRY`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `NETWORK`.`QUOTES`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `NETWORK`.`QUOTES` (
`ID_QUOTE` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`QUOTE` VARCHAR(120) NOT NULL,
`POST_DATE` DATE NOT NULL,
`POST_TIME` TIME NOT NULL,
`LIKES` INT UNSIGNED NOT NULL DEFAULT 0,
`ID_USER` INT UNSIGNED NOT NULL,
PRIMARY KEY (`ID_QUOTE`),
UNIQUE INDEX `ID_QUOTE_UNIQUE` (`ID_QUOTE` ASC),
INDEX `fk_QUOTES_USERS_idx` (`ID_USER` ASC),
CONSTRAINT `fk_QUOTES_USERS`
FOREIGN KEY (`ID_USER`)
REFERENCES `NETWORK`.`USERS` (`ID_USER`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `NETWORK`.`LIKES`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `NETWORK`.`LIKES` (
`ID_USER` INT UNSIGNED NOT NULL,
`ID_QUOTE` INT UNSIGNED NOT NULL,
PRIMARY KEY (`ID_USER`, `ID_QUOTE`),
INDEX `fk_LIKES_QUOTES1_idx` (`ID_QUOTE` ASC),
CONSTRAINT `fk_LIKES_USERS1`
FOREIGN KEY (`ID_USER`)
REFERENCES `NETWORK`.`USERS` (`ID_USER`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_LIKES_QUOTES1`
FOREIGN KEY (`ID_QUOTE`)
REFERENCES `NETWORK`.`QUOTES` (`ID_QUOTE`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
Create a project
- Clone or Download this repository
- Unzip the archive if needed
- Copy the folder in the htdocs dir
- Start a Text Editor (Atom, Sublime, Visual Studio Code, Vim, etc)
- Add the project folder to the editor
Donate!
If you want to help me to continue this project, you might donate via PayPal.
Deployment
Built With
Running the tests
You can test a demo websites here.
Changelog
1.0.0-beta.6 (01/19/2019)
-
Language: HTML, PHP, JavaScript Requirements: - PHP 5.6
- MySQL or MariaDB
- Apache Server
Features: Changes: - Pagination in Vue.js
1.0.0-beta.5 (04/15/2018)
-
Language: HTML, PHP, JavaScript Requirements: - PHP 5.6
- MySQL or MariaDB
- Apache Server
Features: Changes: - Friendly URLs
1.0.0-beta.4 (03/24/2018)
-
Language: HTML, PHP, JavaScript Requirements: - PHP 5.6
- MySQL or MariaDB
- Apache Server
Features: Changes: - Show user for likes
- Check the unlike process
1.0.0-beta.3 (02/18/2018)
-
Language: HTML, PHP, JavaScript Requirements: - PHP 5.6
- MySQL or MariaDB
- Apache Server
Features: Changes: - Add a new table in database to save likes
- Add the profile page
- Add the location for the persons
1.0.0-beta.2 (02/04/2018)
-
Language: HTML, PHP, JavaScript Requirements: - PHP 5.6
- MySQL or MariaDB
- Apache Server
Features: Changes: - Implementation of CDN
- Logout verification
1.0.0-beta.1 (12/02/2017)
-
Language: HTML, PHP, JavaScript Requirements: - PHP 5.6
- MySQL or MariaDB
- Apache Server
Features: Changes: - Add validator for Bootstrap
- Add terms of service
Authors
- Manuel Gil - Owner - ManuelGil
See also the list of contributors who participated in this project.
License
Fav Quote is licensed under the MIT License - see the MIT License for details.