This is my first web app using Laravel and Vue.js frameworks. Agenda is like its name says, it will store reminders for you and it advise you via email when the set time ends.
It still be in development, so if you want to try it, you will need to configure your environment and the .env file.
In this guide you'll configure a crontab beacuse is needed to send emails, also the DB driver used is MySQL server 5.7
- Create, delete or modify reminders, you can set a date and time, if is a payment and how much do you pay, add a location and information contact [Still in development certain functionality].
- Archive reminders
- Advise you via email when set time end.
- [Still in development] Create your own category to group your reminders.
- Uses Google Maps Api to help you autocomplete a location.
- Send a confirmation token via email to register a new user.
- [Soon] Make charts about how much do you paid for in certain period.
First you need to clone or download this repository, also you need to have installed Composer and Node.js.
You need to create a fresh Laravel 5.5 installation anywhere you want, you only need to extract the vendor folder.
To install Laravel 5.5 execute the next command:
composer create-project --prefer-dist laravel/laravel project_name 5.5
Copy the vendor folder to the root of the downloaded/clone repository.
Copy the .env.example file and rename it to .env, you have to configure the next variables:
For DB connection:
- DB_CONNECTION=mysql #<- or other driver do you need
- DB_HOST=127.0.0.1
- DB_PORT=3306 #<- MySQL port
- DB_DATABASE=db_name
- DB_USERNAME=user
- DB_PASSWORD=password
For Laravel Task Scheduler:
- QUEUE_DRIVER=database
For Laravel Email Sender, for use your own Gmail account you have to set a new App Password [NOTE: you have to setup 2-Step Verification, to activate App Pasword option], in this case use Custom App Password option device:
- MAIL_DRIVER=smtp
- MAIL_HOST=smtp.gmail.com #<- Gmail smtp
- MAIL_PORT=587
- MAIL_USERNAME=your_account@gmail.com
- MAIL_PASSWORD=your_password_app
- MAIL_ENCRYPTION=tls
- MAIL_FROM_ADDRESS=your_account@gmail.com
- MAIL_FROM_NAME="Agenda Assistant"
In the root Agenda project path, open command line and execute:
php artisan key:generate
Create a database called as same as the DB_DATABASE variable and execute the next command on the root project:
php artisan migrate
Open your command line, go to your root Agenda project path and execute the next command to download all dependencies:
npm install
You can get your API KEY from Google Developers page, also you have to enable this 2 API's for that KEY:
- Google Maps JavaScript API
- Google Places API Web Service
Once you have the KEY, go to this file Agenda\resources\assets\js\app.js and change the label API_KEY for your key.
Open your command line, go to your root Agenda project path and execute the next command to compile all dependencies:
npm run watch
Configure a cronjob in linux or a task scheduler to execute the next command every minute:
/path/to/php /path/to/project/artisan schedule:run