A web platform to help reunite lost pets with their families and locate stray animals.
make install-dependencies # First time only
make install
make db
make run- App: http://localhost:8000
- DB: localhost:3308 (user:
petfinder, pass:petfinder)
- Symfony 7 (PHP 8.3)
- Twig, JavaScript, Tailwind CSS
- MySQL 8.0
- Node.js 18.x
-
Google OAuth2: Create OAuth2 credentials in Google Cloud Console
- Authorized redirect URI:
http://localhost:8000/login/with-google - Authorized JavaScript origins:
http://localhost:8000
- Authorized redirect URI:
-
Email Credentials: Generate app passwords at Google App Passwords
-
Telegram Bot: Create a bot with @BotFather and get credentials
- Send
/newbotto BotFather - Get your bot token
- Send a message to your bot and get your chat ID from @userinfobot
- Send
-
Configure your
.env.localwith the credentials:# OAuth2 GOOGLE_CLIENT_ID=your_client_id GOOGLE_CLIENT_SECRET=your_client_secret # Email [email protected] MAILER_DSN=smtp://your_email:[email protected]:587 # Telegram TELEGRAM_BOT_TOKEN=your_bot_token_from_botfather TELEGRAM_CHAT_ID=your_chat_id
To set up automatic email reminders for checking if publications are still active:
# Test manually
cd projects/web && php bin/console app:send-reminders
# Set up crontab (daily at 9 AM)
crontab -e
0 9 * * * cd /path/to/project/projects/web && php bin/console app:send-reminders >> var/log/reminders.log 2>&1