sugam-pokhrel / Full-Stack-Assignment

Django and React JS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Full-Stack-Assignment

Fullstack Internship Technical Task: Building a To-Do List Application

Objective:

Your task is to create a simple To-Do List application using Django as the backend framework and ReactJS as the frontend library. The application should allow users to create, update, delete, and mark tasks as completed.

Time Duration:

  • 48 hours

Requirements:

Backend (Django):

  • Create a Django project and set up a virtual environment.
  • Design a model for tasks with the following fields: title, description, due_date, completed.
  • Implement RESTful API endpoints for CRUD operations on tasks.
  • Use appropriate serializers to handle data serialization and deserialization.
  • Implement necessary error handling and validation.
  • Use a database of your choice (SQLite is recommended for simplicity).

Frontend (ReactJS):

  • Set up a ReactJS project using Create React App or any preferred setup.
  • Create components for the following:
  • Task list display
  • Task creation
  • Task Editing
  • Fetch tasks from the backend API and display them in a list.
  • Implement functionality to create, edit, and delete tasks.
  • Implement the ability to mark tasks as completed.
  • Style the application for a clean and user-friendly interface.
  • Integration:

Connect the frontend and backend parts of the application.

  • Use appropriate HTTP methods for making API requests from the frontend.
  • Ensure seamless communication between the two ends.
  • Extras (Optional, if time permits):

Add user authentication and allow each user to have their own set of tasks.

  • Implement task sorting and filtering options (e.g., by due date, completion status).
  • Incorporate visual cues for task priorities (e.g., color-coded based on due date).

Submission:

Upon completion, please provide the following:

  • Fork this GitHub repository Assignment Repo to your own GitHub account.
  • Commit your code regularly and push the changes to your forked repository.
  • Do not create a pull request; just submit your forked repository.
  • Provide a DOCS.md file with all the technologies used and how to run the program locally.
  • Once you have completed the assignment, share the repository URL with us via the submission form.
  • Join this discord server to get an update: Join Here
  • Submission Deadline: Task Submission: 2023/08/15 1:00 PM

Evaluation:

Your task will be evaluated based on the following criteria:

  • Functionality: Does the application meet the specified requirements?
  • Code Quality: Is the code well-structured, readable, and maintainable?
  • User Interface: Is the frontend intuitive, responsive, and visually appealing?
  • Technical Choices: Did you use appropriate technologies and libraries for the task?
  • Integration: Is there seamless communication between the frontend and backend?
  • Bonus Features: Any extra features beyond the basic requirements will be considered a plus.

Note: Feel free to reach out if you have any questions during the task. Good luck, and we're excited to see your work!

About

Django and React JS


Languages

Language:Python 96.7%Language:HTML 1.4%Language:JavaScript 1.0%Language:CSS 0.8%Language:PowerShell 0.1%Language:Shell 0.0%