Welcome to our Pomodoro App! This productivity tool is designed to help you manage your time effectively using the Pomodoro Technique. With this app, you can break your work into intervals, traditionally 25 minutes in length, separated by short breaks.
- Timer Management: Start, pause, and reset timers.
- Custom Intervals: Set custom work and break intervals.
- Notifications: Get notified when intervals end.
- Progress Tracking: Track your productivity over time.
Backend URL: THE BACKEND IS LIVE.
https://api-pomodoro.wedevelopers.online
Frontend URL: THE FRONTEND IS LIVE.
https://app-pomodoro.wedevelopers.online
AI/ML Model URL: THE MODEL IS LIVE.
https://ai-pomodoro.wedevelopers.online
Using Docker
-
Clone the Repository: Begin by cloning this repository to your local machine.
git clone <repository_url>
-
Run the dockerfile:
docker-compose up --build
Without using Docker
-
Clone the Repository: Begin by cloning this repository to your local machine.
git clone <repository_url>
-
Install Dependencies: Navigate to the project directory and install the necessary dependencies for both the frontend and backend.
cd pomodoro-app npm install cd backend npm install cd .. cd frontend npm install cd ..
-
Set Environment Variables: Before running the app, make sure to set the required environment variables. You will need to set the following variables in your environment file:
PORT
: Port number for the server.DATABASE_URL
: URL for your MongoDB database.SECRET
: Secret key for JWT authentication.GOOGLE_CLIENT_ID
: OAuth 2.0 Google Client ID.GOOGLE_CLIENT_SECRET
: OAuth 2.0 Google Client Secret.
-
Run the Backend: To start the backend and frontend server, run the following command from the root directory of the project.
npm run dev
This command will start both the server and client concurrently.
-
Access the App: Once the server is up and running, you can access the Pomodoro App by opening your browser and navigating to
http://localhost:3000
.
Explore our API routes conveniently on our Swagger page available at https://api.tanish.me/api-docs/. This interactive documentation provides a comprehensive overview of our API endpoints, allowing you to easily understand and test the functionality of each route. Whether you're integrating our APIs into your application or simply exploring the capabilities of our platform, our Swagger page offers a user-friendly experience to streamline your development process.
- Frontend: Built with React.js.
- Backend: Utilizes Node.js and Express.js.
- Database: MongoDB, managed with Prisma ORM.
- Authentication: JWT (JSON Web Tokens) for secure user authentication.
- Authentication: OAuth 2.0 is being used with Google for user-friendly Sign-In.
- Create Tasks: Add tasks to your to-do list and assign them estimated Pomodoro intervals.
- Start Timer: Initiate the Pomodoro timer to focus on a task for a set duration.
- Track Progress: Monitor your productivity with the session and task history.
- Customizable Settings: Adjust timer durations and intervals to suit your preferences.
Contributions are welcome! Feel free to submit bug reports, feature requests, or pull requests to help improve the app.
Thank you for using our Pomodoro App! If you have any questions or feedback, please don't hesitate to contact us.