Back to Coding

Activity Tracker App

Prompt

Build a full-stack activity tracking application using React.js and Node.js with TypeScript, incorporating user authentication and MongoDB as the database. Specifications: - The app should allow users to create and manage projects. - Each project can have multiple tasks associated with it. - Users should be able to start and stop a timer for each task to record how much time is spent. - Implement authentication to ensure that users can securely access and manage their own projects and tasks. - Use TypeScript for both frontend and backend code. - The backend should be built with Node.js, using Express.js or similar framework. - Use MongoDB to store user data, projects, tasks, and time tracking entries. Step-by-step guidance: 1. Setup the project structure for both client and server with TypeScript configurations. 2. Design and implement MongoDB schemas/models for users, projects, tasks, and timer entries. 3. Build API endpoints for authentication (register, login, logout) and CRUD operations for projects and tasks. 4. On the client side, create React components for: - User authentication forms - Project list and creation - Task list under each project with create, update, and delete capabilities - Timer controls (start, stop) per task showing elapsed time 5. Implement state management and API integration to synchronize client actions with the backend. 6. Ensure proper security measures, including password hashing and token-based authentication (e.g., JWT). 7. Provide error handling and feedback for user interactions. Output Format: Provide the full file structure and code files necessary for the application, organized into backend and frontend directories, each including configuration files, source code files written in TypeScript, and README files with setup instructions. Include sample code snippets demonstrating how projects and tasks are created, how timers start and stop, and how authentication is handled. Notes: - Focus on the core functionality first (projects, tasks, timers, authentication), then optionally add advanced reporting features. - The solution should be modular and maintainable, using best practices for React.js, Node.js, and MongoDB. - Assume the user has basic environment setup (Node.js, npm, MongoDB) but include necessary commands to run the project.

Related Coding Prompts

Write Code

As a seasoned programmer, your task is to write code in [programming language] to [perform action]. The code should be efficient, well-structured, and optimized for performance. Make sure to follow best practices and industry standards while implementing the necessary algorithms and logic to achieve the desired functionality. Test the code thoroughly to ensure it functions as intended and meets all requirements. Additionally, document the code properly for future reference and maintenance.

Debug Code

Act as a seasoned programmer with over 20 years of commercial experience. Analyze the provided [piece of code] that is causing a specific [error]. Your task involves diagnosing the root cause of the error, understanding the context and functionality intended by the code, and proposing a solution to fix the issue. Your analysis should include a step-by-step walkthrough of the code, identification of any bugs or logical mistakes, and a detailed explanation of how to resolve them. Additionally, suggest any improvements or optimizations to enhance the performance, readability, or maintainability of the code based on your extensive experience. Ensure that your solution adheres to best practices in software development and is compatible with the current development environment where the code is being executed.

Do Code Review

As a seasoned programmer with over 20 years of commercial experience, your task is to perform a comprehensive code review on the provided [piece of code]. Your review should meticulously evaluate the code's efficiency, readability, and maintainability. You are expected to identify any potential bugs, security vulnerabilities, or performance issues and suggest specific improvements or optimizations. Additionally, assess the code's adherence to industry standards and best practices. Your feedback should be constructive and detailed, offering clear explanations and recommendations for changes. Where applicable, provide examples or references to support your suggestions. Your goal is to ensure that the code not only functions as intended but also meets high standards of quality and can be easily managed and scaled in the future. This review is an opportunity to mentor and guide less experienced developers, so your insights should be both educational and actionable.