Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 2 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 (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-17T04:43:45.000Z (11 months ago)
- Last Synced: 2024-08-17T12:28:49.737Z (5 months ago)
- Topics: application, laravel, school
- Language: JavaScript
- Homepage: https://alfianxi.my.id
- Size: 48.1 MB
- Stars: 74
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Welcome to Confess! ๐
![Landing Page](https://github.com/alfianchii/confess/blob/main/public/images/confess-welcome.png?raw=true)
[![All Contributors](https://img.shields.io/github/contributors/alfianchii/confess)](https://github.com/alfianchii/confess/graphs/contributors)
![GitHub last commit](https://img.shields.io/github/last-commit/alfianchii/confess)---
๐ค 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
# 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 on `nginx` 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.
```bash
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~
๐ 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