https://github.com/alfianchii/confess
A website for student complaint reporting built with Laravel 9
https://github.com/alfianchii/confess
application laravel school
Last synced: 3 months ago
JSON representation
A website for student complaint reporting built with Laravel 9
- Host: GitHub
- URL: https://github.com/alfianchii/confess
- Owner: alfianchii
- License: mit
- Created: 2023-02-07T09:40:07.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-09T12:38:31.000Z (5 months ago)
- Last Synced: 2025-04-02T12:09:10.930Z (3 months ago)
- Topics: application, laravel, school
- Language: JavaScript
- Homepage: https://alfianxi.my.id
- Size: 48.1 MB
- Stars: 75
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Welcome to Confess! ๐

[](https://github.com/alfianchii/confess/graphs/contributors)
---
๐ค What is Confess?
Confess is a school complaint reporting application that enables students to submit their issues, grievances, suggestions, criticisms, and even confessions online.
๐คจ What features are available in Confess?
- [Mazer Bootstrap Template](https://github.com/zuramai/mazer)
- 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
- Account
- Profile
- Setting
- Change Password
- Searchable Landing Page
- Confessions
- Confession's categories๐ค Default account for testing
### ๐จโ๐ซ Admin
- Username: alfianchii
- Password: admin123### ๐ง Officer
- Username: moepoi
- Password: officer123### ๐ง Student
- Username: nata.ardhana
- Password: student123๐ Demo page
To view further details, please visit [demo page](https://alfianxi.my.id).
๐พ Pre-requisite
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)๐ป Installation
๐โโ๏ธ Develop by yourself
1. Clone repository```bash
git clone https://github.com/alfianchii/confess
cd confess
composer install
npm install
cp .env.example .env
```2. Database configuration through the `.env` file
```conf
APP_DEBUG=true
DB_DATABASE=confess
DB_USERNAME=your-username
DB_PASSWORD=your-password
```3. Migration and symlink
```bash
php artisan key:generate
php artisan storage:link
php artisan migrate --seed
```4. Launch the website
```bash
npm run dev
# Run in different terminal
php artisan serve
```๐ณ Develop w/ Docker
- Clone the repository:
```bash
git clone https://github.com/alfianchii/confess
cd confess
```- Copy `.env.example` file with `cp .env.example .env` and configure database:
```conf
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:
```bash
docker compose up --build -d
```- Install dependencies:
```bash
docker compose run --rm composer install
docker compose run --rm npm install
```- Laravel setups:
```bash
docker compose run --rm laravel-setup
```- Run locally:
```bash
docker compose run --rm --service-ports npm run dev
```- Pages
- - App: `http://127.0.0.1`
- - PhpMyAdmin: `http://127.0.0.1:8888`
- - MailHog: `http://127.0.0.1:8025`๐ Commands
- 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๐ Production
๐ณ Deployment w/ Docker (use Virtual Private Server)
- Clone the repository w/ SSH method `git clone [email protected]:alfianchii/confess` and go to the directory with `cd confess` command.
- Copy `.env.example` file to `.env` and do configs.
```conf
# App
APP_ENV=production
APP_DEBUG=false
APP_URL=127.0.0.1
APP_PORT=8002# DB
DB_HOST=mariadb
DB_DATABASE=confess
DB_USERNAME=your-vps-username
DB_PASSWORD=your-vps-password
```
- Let's build with `docker compose -f ./docker-compose.prod.yaml up -d --build` command.- Install its dependencies.
```bash
docker compose -f ./docker-compose.prod.yaml run --rm composer install --optimize-autoloader --no-dev
docker compose -f ./docker-compose.prod.yaml run --rm npm install
```- Build the assets with dockerized Vite.js command: `docker compose -f ./docker-compose.prod.yaml run --rm npm run build`.
- Do Laravel setups with existing Docker's custom command: `docker compose -f ./docker-compose.prod.yaml run --rm laravel-setup`.
- Setup your domain and SSL certificate with Nginx configuration:
```nginx
server {
server_name your-domain.com www.your-domain.com;location / {
proxy_pass http://127.0.0.1:8002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}error_log /var/log/nginx/your-domain_error.log;
access_log /var/log/nginx/your-domain_access.log;
}
```- Setup SSL certificate with Certbot:
```bash
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com -d www.your-domain.com
sudo ln -s /etc/nginx/sites-available/your-domain.com /etc/nginx/sites-enabled/
sudo systemctl reload nginx
```- Congrats! Your app is ready to be served. You can access it on your domain and with HTTPS protocol~
๐ Support me
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~!
๐ค Contributing
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!
๐ License
Confess is open-sourced software licensed under the [MIT License](./LICENSE).
๐ง Author