Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fullstack #4

Open
RV218 opened this issue Dec 29, 2023 · 0 comments
Open

fullstack #4

RV218 opened this issue Dec 29, 2023 · 0 comments

Comments

@RV218
Copy link

RV218 commented Dec 29, 2023

Assignment Title: Full-Stack Developer Challenge

Introduction:
You are tasked with building a simple task management application. The application will allow users to create, update, and delete tasks. Tasks should have a title, description, and a status (e.g., "To Do," "In Progress," "Done"). Users should also be able to view a list of tasks and filter them by status.

If you are attempting this as Frontend(mobile/web) Assignment, feel free to use firebase for db and authentication.

Front-End Requirements:

  1. User Interface: Create a user-friendly interface for the task management application. It should have atleast the following components:

    • A form to create a new task with fields for title, description, and status.
    • A list of tasks with the ability to update the status or delete a task.
    • A filter or dropdown to filter tasks by status (e.g., "All," "To Do," "In Progress," "Done").

You can be creative in adding additional features here.

  1. User Experience: Implement smooth and responsive user interactions, including form validation to ensure that tasks cannot be created without a title. Use modern front-end technologies such as React, Angular, or Vue.js.

  2. Styling: Style the application using CSS or a CSS preprocessor (e.g., SASS/SCSS). You can also use a CSS framework if preferred.

  3. Responsive Design: Ensure that the application is responsive and works well on both desktop and mobile devices.

Back-End Requirements:

  1. API Development: Create a RESTful API to handle the CRUD (Create, Read, Update, Delete) operations for tasks. The API should be built using a back-end technology of your choice (e.g., Node.js with Express, Ruby on Rails, Django, etc.).

  2. Data Storage: Implement a database to store task data. You can use any database system (e.g., PostgreSQL, MySQL, MongoDB) and set up the necessary data models to represent tasks.

  3. Validation: Implement server-side validation to ensure that task data is valid before saving it to the database. Tasks must have a title and a valid status.

  4. Error Handling: Properly handle errors, including sending appropriate error messages and status codes in response.

General Requirements:

  1. Code Quality: Write clean, well-documented, and maintainable code. Use coding best practices and conventions for the chosen programming language and framework.

  2. Version Control: Use a version control system (e.g., Git) to track changes in your code and provide a Git repository for the assessment.

  3. Testing: Write unit tests for critical parts of your application, such as API endpoints and data validation.

  4. Security: Implement basic security measures to protect the application from common vulnerabilities.

Bonus Features (Optional):

You can implement additional features to make your project stand out:

  1. User authentication and authorization to restrict access to tasks.
  2. Task due dates and reminders.
  3. Task sorting and searching capabilities.
  4. User profiles with avatars.

Submission:

https://github.com/RV218/fullstack/tree/main/FullStackApp/my-react-app

Assessment Criteria:

Your assignment will be evaluated based on:

  1. Functionality: Does the application meet the specified requirements and work as expected?

  2. Code Quality: Is the code clean, organized, and well-documented?

  3. User Experience: Is the user interface intuitive and responsive?

  4. Security: Are there basic security measures in place?

  5. Testing: Are there unit tests for critical components?

  6. Bonus Features: If implemented, do they enhance the application's usability?

This assignment is designed to assess your full-stack development skills, so feel free to showcase your capabilities and creativity. Good luck!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant