Confess is a school complaint reporting application that enables students to submit their issues, grievances, suggestions, criticisms, and even confessions online.
- Mazer Bootstrap Template
- Dark and light mode
- Dashboard UI
- Landing Page
- Homepage
- About
- Confession
- Comment
- Confession's category
- Authentication
- Registration
- Login
- Multi User
- Admin
- History login, confession, response, and comment statistics (full overview)
- Manageable users
- Manageable confession's categories
- Manageable website informations
- Deactivate their own account
- Officer
- History login, confession, response, and comment statistics (half overview)
- Handling student's confessions
- Student
- History login, confession, response, and comment statistics (shallow overview)
- Submit confessions
- All
- Comment to a confession on Landing Page
- Account
- Export data
- Admin
- Account
- Profile
- Setting
- Change Password
- Searchable Landing Page
- Confessions
- Confession's categories
- Username: alfianchii
- Password: admin123
- Username: moepoi
- Password: officer123
- Username: nata.ardhana
- Password: student123
To view further details, please visit demo page.
Here are the prerequisites required for installing and running the application.
- PHP 8.2.8 & Web Server (Apache, Lighttpd, or Nginx)
- Database (MariaDB w/ v11.0.3 or PostgreSQL)
- Web Browser (Firefox, Safari, Opera, or Brave)
git clone https://github.com/alfianchii/confess
cd confess
composer install
npm install
cp .env.example .env
- Database configuration through the
.env
file
APP_DEBUG=true
DB_DATABASE=confess
DB_USERNAME=your-username
DB_PASSWORD=your-password
- Migration and symlink
php artisan key:generate
php artisan storage:link
php artisan migrate --seed
- Launch the website
npm run dev
# Run in different terminal
php artisan serve
- Clone the repository:
git clone https://github.com/alfianchii/confess
cd confess
- Copy
.env.example
file withcp .env.example .env
and configure database:
APP_DEBUG=true
DB_HOST=mariadb
DB_DATABASE=confess
DB_USERNAME=your-username
DB_PASSWORD=your-password
- Make sure you have Docker installed and run:
docker compose up --build -d
- Install dependencies:
docker compose run --rm composer install
docker compose run --rm npm install
- Laravel setups:
docker compose run --rm laravel-setup
- Run locally:
docker compose run --rm --service-ports npm run dev
- Pages
-
- App:
http://127.0.0.1
- App:
-
- PhpMyAdmin:
http://127.0.0.1:8888
- PhpMyAdmin:
-
- MailHog:
http://127.0.0.1:8025
- MailHog:
-
Composer
-
docker-compose run --rm composer install
-
docker-compose run --rm composer require laravel/breeze --dev
-
- Etc
-
NPM
-
docker-compose run --rm npm install
-
docker-compose run --rm --service-ports npm run dev
-
- Etc
-
Artisan
-
docker-compose run --rm artisan serve
-
docker-compose run --rm artisan route:list
-
- Etc
-
Clone the repository w/ SSH method
git clone [email protected]:alfianchii/confess
and go to the directory withcd confess
command. -
Copy
.env.example
file to.env
and do configs.
# Replace its values to your actual domain and your active email
DOMAIN=your-domain.com
[email protected]
# App
APP_ENV=production
APP_DEBUG=false
APP_URL=${DOMAIN}
# DB
DB_HOST=mariadb
DB_DATABASE=confess
DB_USERNAME=your-vps-username
DB_PASSWORD=your-vps-password
-
Open
./docker-compose.prod.yaml
, remove--staging
option onnginx
service. -
On
./docker/nginx/default.prod.conf
, set your own domain. -
Let's build with
docker compose -f ./docker-compose.prod.yaml up -d --build
command. -
Install its dependencies.
docker compose run --rm composer install --optimize-autoloader --no-dev
docker compose run --rm npm install
-
Build the assets with dockerized Vite.js command:
docker compose run --rm npm run build
. -
Do Laravel setups with existing Docker's custom command:
docker compose run --rm laravel-setup
. -
Congrats! Your app is ready to be served. You can access it on your domain and with HTTPS protocol~
You can support me on the Trakteer platform! Your support will be very meaningful. Like, just giving a star to this project is already greatly appreciated~!
Contributions, issues, and feature requests are highly appreciated as this application is far from perfect. Please do not hesitate to make a pull request and make changes to this project!
Confess is open-sourced software licensed under the MIT License.