|
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> |
2 | 2 |
|
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> |
4 | 9 |
|
5 |
| -It is a PHP application, and will run on a typical LAMP stack. |
| 10 | +## About Laravel |
6 | 11 |
|
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: |
8 | 13 |
|
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). |
10 | 21 |
|
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. |
18 | 23 |
|
19 |
| -### Procedure |
| 24 | +## Learning Laravel |
20 | 25 |
|
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. |
22 | 27 |
|
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. |
26 | 29 |
|
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. |
28 | 31 |
|
29 |
| -## Configuration |
| 32 | +## Laravel Sponsors |
30 | 33 |
|
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). |
32 | 35 |
|
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 |
44 | 37 |
|
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)** |
46 | 51 |
|
47 |
| -### Environment |
| 52 | +## Contributing |
48 | 53 |
|
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). |
50 | 55 |
|
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 |
52 | 57 |
|
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). |
54 | 59 |
|
55 |
| -- `http://localhost:8080` |
56 |
| -- `http://127.0.0.1:8080` |
| 60 | +## Security Vulnerabilities |
57 | 61 |
|
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. |
59 | 63 |
|
60 |
| -### Dependencies |
| 64 | +## License |
61 | 65 |
|
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). |
0 commit comments