Assignment for a Full Stack Developer Role at 12LPA in Bangalore

Test ID: 898, Deadline: 24 hours from when you see this for the first time

API Development and Deployment for a Task Management Backend

Overview

Your task is to create a backend-only API for managing tasks. The focus is on building RESTful APIs, deploying the service, and documenting the API endpoints. There is no frontend or UI development required. The deliverable is a working API.

Once completed, you must provide:

  • A GitHub repository with the source code.

  • A Postman collection with all API endpoints and example requests/responses in the README file.

  • The deployed URL to test the API live.

API Requirements

  1. Authentication (JWT-based):

    • Implement a simple user registration and login API.

    • Use JWT for securing endpoints.

    • Protect all task-related endpoints so only authenticated users can access them.

  2. Task Management:

    • Create CRUD (Create, Read, Update, Delete) operations for tasks.

    • Each task should have the following fields:

      • id: Unique identifier for the task.

      • title: A short title for the task.

      • description: A detailed description of the task (optional).

      • status: One of pending, in-progress, completed.

    • Endpoints:

      1. Create a new task.

      2. Retrieve all tasks for the logged-in user.

      3. Update a task’s title, description, or status.

      4. Delete a task.

Technical Requirements

  • Use python with flask library (most preferred) or any other framework.

  • Use a database of your choice (e.g., MongoDB, PostgreSQL, SQLite, etc.).

  • Follow RESTful API design principles.

  • Protect sensitive data (e.g., JWT secret) using environment variables.

Deployment

  • Deploy the API to any cloud platform (e.g., Render, Railway, AWS, Azure, Vercel).

  • Ensure the deployed API is publicly accessible.

Deliverables

  • GitHub Repository:

    • A clean, well-organized repo with clear commit history.

    • A README.md file with:

      • Project overview.

      • Steps to set up and run the project locally.

      • Details of the deployed API (base URL).

      • Provide a Postman collection link.

        • Include all API endpoints with example requests and responses. Also the collection to read or list all tasks example should have a sample authorization header to check.

      • Deployment details.

  • Deployed URL:

    • Provide the live URL of the deployed API.

Evaluation Criteria

  • API Design: Proper use of RESTful principles.

  • Functionality: Fully functional and secure APIs.

  • Code Quality: Clean, modular, and well-documented code.

  • Deployment: Accessible deployed API.

  • Documentation: Clear and complete Postman collection and README.md.

  • Extra Points: Python usage.


Do spend some time initially to plan out how you will do it. Manage your time accordingly.

Submit here: https://forms.gle/ER387znmXfN4MvzdA

All the best. You got this!

FAQs

FAQs

FAQs

Is Cactro really free?

Yes! At Cactro, developers never pay a rupee. We're funded by companies who trust us to find the best talent. Your success is our mission.

What kind of a test is it?

Our tests include practical coding challenges based on real-world scenarios. Keep an eye out on your email after signing up! We'll send you step-by-step details closer to the test date.

What if I'm not ready?

It's totally okay if you don't feel fully prepared. You can take the next test to get a calibration and attempt again later as well.

How many attempts do I get?

We don’t limit your chances. Didn’t get selected? Don’t worry, you can attempt it again next time; in fact, we encourage it. Applying multiple times does not count against you.

Which languages can I use?

We are tech-agnostic. You can use any language or framework or tool in our tests.

Am I eligible if I'm in college?

No, this is only for people who can join a full-time job immediately. Please apply after college ends.

What happens after the test?

Based on your performance, we pitch your profile to companies to get you hired as a full-time developer.

Is Cactro really free?

Yes! At Cactro, developers never pay a rupee. We're funded by companies who trust us to find the best talent. Your success is our mission.

What kind of a test is it?

Our tests include practical coding challenges based on real-world scenarios. Keep an eye out on your email after signing up! We'll send you step-by-step details closer to the test date.

What if I'm not ready?

It's totally okay if you don't feel fully prepared. You can take the next test to get a calibration and attempt again later as well.

How many attempts do I get?

We don’t limit your chances. Didn’t get selected? Don’t worry, you can attempt it again next time; in fact, we encourage it. Applying multiple times does not count against you.

Which languages can I use?

We are tech-agnostic. You can use any language or framework or tool in our tests.

Am I eligible if I'm in college?

No, this is only for people who can join a full-time job immediately. Please apply after college ends.

What happens after the test?

Based on your performance, we pitch your profile to companies to get you hired as a full-time developer.

Is Cactro really free?

Yes! At Cactro, developers never pay a rupee. We're funded by companies who trust us to find the best talent. Your success is our mission.

What kind of a test is it?

Our tests include practical coding challenges based on real-world scenarios. Keep an eye out on your email after signing up! We'll send you step-by-step details closer to the test date.

What if I'm not ready?

It's totally okay if you don't feel fully prepared. You can take the next test to get a calibration and attempt again later as well.

How many attempts do I get?

We don’t limit your chances. Didn’t get selected? Don’t worry, you can attempt it again next time; in fact, we encourage it. Applying multiple times does not count against you.

Which languages can I use?

We are tech-agnostic. You can use any language or framework or tool in our tests.

Am I eligible if I'm in college?

No, this is only for people who can join a full-time job immediately. Please apply after college ends.

What happens after the test?

Based on your performance, we pitch your profile to companies to get you hired as a full-time developer.