Tenatracker is a Laravel-based web application for tracking personal challenges and maintaining journal entries. The application helps users document their progress, share achievements, and stay motivated through a structured tracking system.
- Challenge Management: Create, edit, and track challenges with start/end dates and status tracking
- Journal Entries: Document progress with rich-text journal entries for each challenge
- Tag System: Organize challenges and journal entries with custom tags
- Sharing Capabilities: Share individual challenges or journal entries publicly using secure tokens
- PHP: 8.2+
- Laravel: 11.0
- Livewire: 3.5+ for interactive UI components
- Alpine.js: 3.13+ for frontend interactivity
- Tailwind CSS: 3.4+ for styling
- MySQL/PostgreSQL: For database storage
- PHP 8.2+
- Composer
- Node.js and NPM
- MySQL or PostgreSQL database
-
Clone the repository:
git clone https://github.com/ibnu-afdel/tenatracker.git cd tenatracker
-
Install PHP dependencies:
composer install
-
Install JavaScript dependencies:
npm install
-
Create a copy of the environment file:
cp .env.example .env
-
Generate application key:
php artisan key:generate
-
Configure your database connection in the
.env
file:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=tenatracker DB_USERNAME=root DB_PASSWORD=your_password
-
Run database migrations:
php artisan migrate
-
Build frontend assets:
npm run build
-
Start the development server:
php artisan serve
For local development, you can use the development script which starts the Laravel server, queue worker, logs, and Vite:
composer run dev
The project is configured for deployment with Railway (see railway.toml
). For production environments:
npm run build:prod
This project is open-sourced software licensed under the MIT license.