datamine

Take home project @datamine

MIT License

Stars
1
Committers
2

Main Features

  • User Authentication: Secure system for user login and data protection.
  • Task Creation: Create tasks with name, description, due date, and priority.
  • Task Groups: Organize tasks into categories (e.g., work, personal).
  • Scheduled Tasks: Set tasks to repeat daily, weekly, or monthly.
  • Task List: View and manage tasks in a list format.
  • Task Status: Mark tasks as completed or pending.
  • Responsive UI: Works on various devices and screen sizes.

🚨 Forking this repo (please read!)

I value keeping my site open source, but as you all know, plagiarism is bad. It's always disheartening whenever I find that someone has copied my site without giving me credit. I spent a non-trivial amount of effort building and designing this iteration of my website, and I am proud of it! All I ask of you all is to not claim this effort as your own.

Flow Chart

Prerequisites

Before you start, please install this:

Installation

  1. Clone the repository:

    git clone https://github.com/andikaleonardo/datamine
    
  2. Navigate to the project directory:

    cd datamine
    
  3. Update PHP dependencies using Composer:

    composer update
    
  4. Install PHP dependencies using Composer:

    composer install
    
  5. Install JavaScript dependencies using NPM:

    npm install
    
  6. Create a .env file by copying .env.example and update it with your database configuration:

    cp .env.example .env
    
  7. Generate application key:

    php artisan key:generate
    
  8. Make sure APP_URL & ASSET_URL in .env is defined because laravel pointed to those URL.

    APP_URL=https://datamine-13120b40742a.herokuapp.com
    ASSET_URL=https://datamine-13120b40742a.herokuapp.com
    
  9. Migrate the database:

    php artisan migrate
    
  10. Compile Assets:

    npm run dev
    
  11. Start the Local development server:

php artisan serve
  1. Access the Application: Open your web browser and go to http://localhost:8000

Deploying to Heroku

  1. Log in to Heroku:

    heroku login
    
  2. Create a new Heroku application:

    heroku create your-app-name
    
  3. Add the Heroku Postgres add-on:

    heroku addons:create heroku-postgresql:hobby-dev
    
  4. Set environment variables in Heroku:

    heroku config:set APP_KEY=$(php artisan key:generate --show)
    heroku config:set APP_ENV=production
    heroku config:set APP_DEBUG=false
    heroku config:set APP_URL=https://your-app-name.herokuapp.com
    heroku config:set ASSET_URL=https://your-app-name.herokuapp.com
    
  5. Add a Procfile to the root of your project to instruct Heroku how to run your app. Create a Procfile file with the following content:

    web: vendor/bin/heroku-php-apache2 public/
    
  6. Commit your changes to git:

    git add .
    git commit -m "Prepare for Heroku deployment"
    
  7. Deploy your application to Heroku:

    git push heroku main
    
  8. Run database migrations on Heroku:

    heroku run php artisan migrate
    
  9. Access your application on Heroku: Open your web browser and go to https://your-app-name.herokuapp.com