Skip to content

Commit 4107171

Browse files
committed
Initial Laravel rewrite: migrations, models, auth
1 parent a711704 commit 4107171

File tree

173 files changed

+13117
-6037
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+13117
-6037
lines changed

.editorconfig

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 4
7+
indent_style = tab
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[*.{yml,yaml}]
15+
indent_size = 2
16+
indent_style = space
17+
18+
[docker-compose.yml]
19+
indent_size = 4

.env.example

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
APP_NAME=Laravel
2+
APP_ENV=local
3+
APP_KEY=
4+
APP_DEBUG=true
5+
APP_URL=http://localhost
6+
7+
LOG_CHANNEL=stack
8+
LOG_DEPRECATIONS_CHANNEL=null
9+
LOG_LEVEL=debug
10+
11+
DB_CONNECTION=mysql
12+
DB_HOST=127.0.0.1
13+
DB_PORT=3306
14+
DB_DATABASE=vtracker2
15+
DB_USERNAME=root
16+
DB_PASSWORD=
17+
18+
BROADCAST_DRIVER=log
19+
CACHE_DRIVER=file
20+
FILESYSTEM_DISK=local
21+
QUEUE_CONNECTION=sync
22+
SESSION_DRIVER=file
23+
SESSION_LIFETIME=120
24+
25+
MEMCACHED_HOST=127.0.0.1
26+
27+
REDIS_HOST=127.0.0.1
28+
REDIS_PASSWORD=null
29+
REDIS_PORT=6379
30+
31+
MAIL_MAILER=smtp
32+
MAIL_HOST=mailpit
33+
MAIL_PORT=1025
34+
MAIL_USERNAME=null
35+
MAIL_PASSWORD=null
36+
MAIL_ENCRYPTION=null
37+
MAIL_FROM_ADDRESS="[email protected]"
38+
MAIL_FROM_NAME="${APP_NAME}"
39+
40+
AWS_ACCESS_KEY_ID=
41+
AWS_SECRET_ACCESS_KEY=
42+
AWS_DEFAULT_REGION=us-east-1
43+
AWS_BUCKET=
44+
AWS_USE_PATH_STYLE_ENDPOINT=false
45+
46+
PUSHER_APP_ID=
47+
PUSHER_APP_KEY=
48+
PUSHER_APP_SECRET=
49+
PUSHER_HOST=
50+
PUSHER_PORT=443
51+
PUSHER_SCHEME=https
52+
PUSHER_APP_CLUSTER=mt1
53+
54+
VITE_APP_NAME="${APP_NAME}"
55+
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
56+
VITE_PUSHER_HOST="${PUSHER_HOST}"
57+
VITE_PUSHER_PORT="${PUSHER_PORT}"
58+
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
59+
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

.gitattributes

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
* text=auto eol=lf
2+
3+
*.blade.php diff=html
4+
*.css diff=css
5+
*.html diff=html
6+
*.md diff=markdown
7+
*.php diff=php
8+
9+
/.github export-ignore
10+
CHANGELOG.md export-ignore
11+
.styleci.yml export-ignore

.gitignore

+19-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,19 @@
1-
config.php
2-
vendor/
1+
/.phpunit.cache
2+
/node_modules
3+
/public/build
4+
/public/hot
5+
/public/storage
6+
/storage/*.key
7+
/vendor
8+
.env
9+
.env.backup
10+
.env.production
11+
.phpunit.result.cache
12+
Homestead.json
13+
Homestead.yaml
14+
auth.json
15+
npm-debug.log
16+
yarn-error.log
17+
/.fleet
18+
/.idea
19+
/.vscode

README.md

+45-41
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,66 @@
1-
# BLFC Volunteer Shift Tracker System
1+
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p>
22

3-
Tracker is an at-con time clock system for volunteers at [BLFC](https://goblfc.org). Volunteers can clock in and clock out for their shifts to log their hours, ensuring they get the rewards they deserve. Staff can manage volunteers and run reports on volunteer hours.
3+
<p align="center">
4+
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a>
5+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
6+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
7+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
8+
</p>
49

5-
It is a PHP application, and will run on a typical LAMP stack.
10+
## About Laravel
611

7-
## Installation
12+
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
813

9-
### Requirements
14+
- [Simple, fast routing engine](https://laravel.com/docs/routing).
15+
- [Powerful dependency injection container](https://laravel.com/docs/container).
16+
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
17+
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
18+
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
19+
- [Robust background job processing](https://laravel.com/docs/queues).
20+
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
1021

11-
- Web server, such as Apache or Nginx
12-
- PHP 8.0 (minimum), with the following extensions: `PDO` and `pdo_mysql`
13-
- MySQL or MariaDB server
14-
- Your event's instance of [ConCat](https://concat.app) to allow volunteers and staff to authenticate with the system
15-
- Users log in to the application using ConCat with OAuth.
16-
- You will need Developer access to your event's ConCat instance to create the OAuth app. Specifically, you will need the `oauth:manage` permission. Alternatively, have someone else create an OAuth app in ConCat for you and have them provide you the client ID and secret.
17-
- The OAuth app will also require the `volunteer:read` application permission for OAuth Bearer tokens, which is used for generating the Volunteer Applications report inside Tracker.
22+
Laravel is accessible, powerful, and provides tools required for large, robust applications.
1823

19-
### Procedure
24+
## Learning Laravel
2025

21-
Copy the contents of this repo into your web server's document root. Next, install required dependencies using `composer install`. Finally, initialize the database using the provided `schema.sql` file. If you have access to a command line, this is simple to do:
26+
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
2227

23-
```
24-
$ mysql -u username -p dbname < schema.sql
25-
```
28+
You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch.
2629

27-
Alternatively, if you use a GUI-based database management tool like phpMyAdmin, you can import the file there as well.
30+
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
2831

29-
## Configuration
32+
## Laravel Sponsors
3033

31-
Configuration values are read from `config.php`. There is a template configuration file available at `config.template.php`. Copy and rename this file, then edit the variables as needed.
34+
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
3235

33-
- **General configuration**
34-
- Set `$CANONICAL_URL` to be the public-facing base URL of your Tracker instance.
35-
- **MySQL configuration**
36-
- Change the variables to reflect your MySQL credentials and database name.
37-
- It is recommended to create a user exclusively for this web app that will have full permission over the Tracker database and this database only. No need to make a memorable password here: Make it long and random.
38-
- **OAuth configuration**
39-
- Fill out the client ID and secret variables with the values you got from ConCat.
40-
- `$OAUTH_CONCAT_BASE_URL` is the FQDN of your event's ConCat instance.
41-
- **Telegram bot configuration**
42-
- Volunteers can opt into receiving four digit sign in codes from a [Telegram bot](https://core.telegram.org/bots) to make subsequent logins faster. It also allows them to check their hours without logging into Tracker, and receive notifications for when they are given rewards.
43-
- You must create and provide the details for the Telegram bot yourself. Specifically, the bot's API key and username must be provided in the configuration file, as well as a list of Telegram user IDs who are to be considered admins.
36+
### Premium Partners
4437

45-
## Development
38+
- **[Vehikl](https://vehikl.com/)**
39+
- **[Tighten Co.](https://tighten.co)**
40+
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
41+
- **[64 Robots](https://64robots.com)**
42+
- **[Cubet Techno Labs](https://cubettech.com)**
43+
- **[Cyber-Duck](https://cyber-duck.co.uk)**
44+
- **[Many](https://www.many.co.uk)**
45+
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
46+
- **[DevSquad](https://devsquad.com)**
47+
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
48+
- **[OP.GG](https://op.gg)**
49+
- **[WebReinvent](https://webreinvent.com/?utm_source=laravel&utm_medium=github&utm_campaign=patreon-sponsors)**
50+
- **[Lendio](https://lendio.com)**
4651

47-
### Environment
52+
## Contributing
4853

49-
On Windows, installing [XAMPP](https://www.apachefriends.org/download.html) is a quick and easy way to get a full web server stack running on your computer that you can use for local development.
54+
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
5055

51-
On Linux, you may wish to install PHP and MySQL through your distributions's package manager. Or, if you use Docker, you can use the provided `docker-compose.yml` file to spin up an Apache web server with PHP and a MySQL server with a pre-configured user and database. Please view this file for the credentials. **Do not use this Docker Compose file in a production environment.** It is intended for local development purposes only.
56+
## Code of Conduct
5257

53-
In ConCat, you may want to create an OAuth app specifically for local testing. To do this, create a new app and specify these as the callback URIs:
58+
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
5459

55-
- `http://localhost:8080`
56-
- `http://127.0.0.1:8080`
60+
## Security Vulnerabilities
5761

58-
If you're developing on a different server internally or you use a different port number, you will need to change the addresses accordingly.
62+
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [[email protected]](mailto:[email protected]). All security vulnerabilities will be promptly addressed.
5963

60-
### Dependencies
64+
## License
6165

62-
This project uses [Composer](https://getcomposer.org/) to manage dependencies. See `composer.json` to see which ones are used, and install them using `composer install`.
66+
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

admin.php

-32
This file was deleted.

api.php

-72
This file was deleted.

api/auth.php

-19
This file was deleted.

0 commit comments

Comments
 (0)