Flashify is a minimal, beautiful, and responsive web-based flashcard application built using the LAMP stack as part of a college mini-project.
The easiest way to run this project locally is with Docker and Docker Compose.
.env.example
to .env
and set up the database credentials.SECRETS.php.example
to SECRETS.php
(no need to edit, leave as is).Run the following command:
sudo docker-compose up
Main application:
These steps are for Debian-based systems, but the overall procedure is similar for any Linux distribution.
Clone the repository
git clone https://github.com/shonebinu/flashify.git /var/www/flashify
Configure MySQL connection
SECRETS.php.example
to SECRETS.php
SECRETS.php
and insert your MySQL connection details (host, user, password, database)Import database schema
db.sql
file via phpMyAdmin or using the MySQL command line:
mysql -u your_username -p your_database_name < /path/to/db.sql
Setup Apache Virtual Host
a. Create a new configuration file:
sudo vim /etc/apache2/sites-available/flashify.conf
b. Add the following content (adjust as needed):
<VirtualHost *:80>
ServerAdmin webmaster@flashify.local
ServerName flashify.local
DocumentRoot /var/www/flashify
<Directory /var/www/flashify>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/flashify_error.log
CustomLog ${APACHE_LOG_DIR}/flashify_access.log combined
</VirtualHost>
c. Enable mod_rewrite:
sudo a2enmod rewrite
d. Enable the new virtual host:
sudo a2ensite flashify.conf
e. Reload Apache:
sudo service apache2 reload
Configure local domain (optional)
/etc/hosts
file:
sudo vim /etc/hosts
127.0.0.1 flashify.local
Open a web browser and navigate to http://flashify.local
or http://localhost
, depending on your configuration.