20b62e7312d69fc912d6d4006a44d57ac5b5097c
ZSTerminator -
Setup
- Ruby version: 3.2.4
- Rails version: 7.1.5+
- Database: SQLite3
Getting Started
-
Install dependencies:
bundle install -
Setup database:
rails db:create rails db:migrate rails db:seed -
Start the server:
rails server -
Visit http://localhost:3000 and login with:
- Username:
admin - Password:
password123
- Username:
User Management (Rake Tasks)
This project includes Rake tasks for managing users via command line:
Available Commands
# List all users
rails users:list
# Show user details
rails users:show[username]
# Create a new user
rails users:create[username,email,password,company_id]
# Change user password
rails users:change_password[username,new_password]
# Delete a user
rails users:delete[username]
# Clean up test users (users with 'test' in username/email)
rails users:cleanup_test_users
Usage Examples
# Create a new user (company_id is optional, uses first company if blank)
rails "users:create[john,john@example.com,securepass123]"
# Change password
rails "users:change_password[john,newpassword456]"
# Show user information
rails users:show[john]
# Delete user (with confirmation)
rails users:delete[john]
# List all users in a formatted table
rails users:list
Automated Testing
Run complete CRUD test suite:
# Single command to test all user operations automatically
rails users:test_crud
This automated test will:
- Create test users (dodavanje)
- List created users
- Change password (mijenjanje sifre)
- Show user details
- Delete user (brisanje)
- Clean up all test data
Manual Testing Workflow
-
Create test users:
rails "users:create[testuser1,test1@example.com,testpass123]" rails "users:create[testuser2,test2@example.com,testpass456]" -
Test your application with the created users
-
Clean up test data:
# This will find and delete all users with 'test' in username or email rails users:cleanup_test_users
Notes
- All user passwords are encrypted using bcrypt
- Users must belong to a company
- Username and email must be unique
- Minimum password length is 6 characters
- The cleanup task only removes users with 'test' in their username or email for safety
Description
Languages
Ruby
62.3%
HTML
23%
JavaScript
8.9%
CSS
4.4%
Dockerfile
1.1%
Other
0.3%