Skip to content

corelabbr/code-challenge-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Code Challenge Java

Challenge Overview:

You are tasked with building a web application that allows users to create and manage their to-do lists. The application should consist of a responsive webpage built in React, and an API built in Java Spring Boot to store and manage the to-do lists.

The Repositories

  • Frontend: Built with React. You can also choose another React framework if you prefer.
  • Backend: Built with Java Spring Boot, utilizing any database of your choice (e.g., MySQL, PostgreSQL, MongoDB, or in-memory).

The Layout

Refer to the provided layout mockup for both desktop and mobile versions. Please follow this design as closely as possible.

Functionality Requirements:

  1. Users should be able to create, read, update, and delete to-do items using the API.
  2. Users should be able to mark an item as a favorite.
  3. Users should be able to assign a color to each to-do item.
  4. The React frontend should display the user's to-do list in a responsive and visually appealing manner, with the ability to filter by favorite items and color.
  5. Favorited items should appear at the top of the list.

Technical Requirements:

  1. Backend API:
    • Built using Java Spring Boot.
    • Use any database of your choice (e.g., PostgreSQL, MongoDB, in-memory, etc.).
  2. Frontend:
    • Built using React and modern web development tools.
  3. Responsive Design:
    • The application should be fully responsive, providing a seamless experience across desktop and mobile devices.

Deliverables:

  1. A link to a GitHub repository containing the complete source code for both the backend and frontend.
  2. A written description of how to set up and run the application locally.

Evaluation Criteria:

  1. Code Quality: Well-structured and maintainable code.
  2. Code Format: Consistent and follows best practices.
  3. Code Performance: Efficient and scalable solutions.
  4. Frontend Design: A user-friendly, visually appealing interface.
  5. Readability: Is the code easy to understand and maintain?
  6. Mobile-First Approach: The design should prioritize mobile responsiveness.
  7. Code Responsibility: Clean separation of concerns (frontend vs. backend).
  8. Feature Completeness: Does the app meet all the listed functional requirements?
  9. Responsiveness: Does the app work well across different screen sizes?
  10. Best Practices: Use of modern web tools and standards.
  11. Design: Does the app follow the provided design mockup?
  12. Documentation: Well-documented code and setup instructions.

Backend:

  1. Java: Version 11+
  2. Framework: Spring Boot
  3. Database: Choose your own, or use an in-memory database (e.g., H2).

Frontend:

  1. Node: ^16.15.0
  2. NPM: ^8.5.5
  3. Framework: React
  4. CSS: Sass or another preprocessor of your choice.

Want to Impress Us Even More?

  1. Correctly define types and interfaces.
  2. Set up and enforce ESLint rules.
  3. Create a Prettier configuration for consistent formatting.
  4. Containerize the app with Docker.
  5. Write unit and integration tests.
  6. Set up CI/CD pipelines for automated testing and deployment.

Instructions for Submission:

  1. Create a file PULL_REQUEST.md in which you describe your process, the decisions you made, and any important details about the implementation.
  2. Create a pull request for both the backend and frontend repositories using the same branch name.
  3. Send us the pull request and you're done!

Good luck! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published