This is a Habit Tracker web application built using PHP Symfony, JavaScript, MySQL, Bootstrap, SCSS, Docker, and integrated with Google Calendar and Weather Data. The app allows users to create and manage their daily habits while syncing them with Google Calendar, as well as view real-time weather information based on their geolocation.
Nagranie.z.ekranu.2025-08-27.o.14.59.35.mov
![]() |
![]() |
![]() |
![]() |
- For testing purposes, you can log in with the following test account credentials:
- Email:
habito.test.user@gmail.com - Password:
Ypy0aalZ9HI3
- Email:
- This account is already connected to Google, so you can use it to check the full functionality, including habit tracking and Google Calendar integration.
-
User Authentication:
- Users can log in using Google OAuth or create an account with credentials (email & password).
-
Habit Creation and Management:
- Users can create habits within the app, define their frequency (daily, weekly, etc.), and link them to their Google Calendar.
- A user can edit habits in the app, and it will automatically update in the connected Google Calendar.
- Unlink habits from Google Calendar while keeping the habit persistent in the app.
-
Google Calendar Integration:
- Add habits to Google Calendar from the app with the option to choose the title, color, and frequency.
- Real-time synchronization ensures any changes made in the app (adding, updating, or deleting habits) reflect in the Google Calendar.
- Embedded Google Calendar to display all user habits, updating in real time as changes are made.
-
Habit Categories & Scheduling:
- Habits are categorized into sections based on the time of day: Morning, Afternoon, Evening, Night, and Unorganized.
-
Habit Completion Tracking:
- Users can mark habits as done for each day, with visual feedback and stats tracking progress.
-
Weather Integration:
- The app fetches real-time weather data based on the user’s geolocation (using Geolocation-DB).
- OpenWeather API is used to fetch the current weather conditions, weather details are shown dynamically to the user, enhancing the habit-tracking experience.
-
Responsive Design:
- The app is fully responsive, using Bootstrap and SCSS for styling, providing a smooth experience across different devices.
-
No Page Reloads:
- The app is built with AJAX and JavaScript, ensuring real-time updates without the need for page reloads.
-
Backend:
- PHP Symfony Framework
- MySQL Database
-
Frontend:
- JavaScript (AJAX for real-time updates)
- Bootstrap (for responsive design)
- SCSS (for custom styling)
-
APIs:
- Google Calendar API (for calendar integration)
- OpenWeather API (for weather data)
- Geolocation-DB (for location-based weather fetching)
-
Docker:
- Docker is used for containerization, ensuring consistent development and production environments.
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature). - Make your changes and commit them (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature/your-feature). - Create a new pull request.
This project is licensed under the MIT License - see the LICENSE.md file for details.



