This is a To-Do application built using Create React App, SCSS, Ant Design, useContext, and Jest. The application allows users to manage their tasks and keep track of their to-do list. It is integrated with a Spring Boot API for data storage and retrieval.
- Clone the repository:
git clone https://github.com/VhugoJc/To-Do-Frontend.git
- Navigate to the project directory:
cd To-Do-Frontend
- Install dependencies:
npm install
- Start the development server:
npm run start
This will start the application on http://localhost:8080.
The application requires backend running on http://localhost:9090 if the server is not running in localhost, change the backend base url in /src/config/url.js
.
- Task Management: Add, edit, and delete tasks.
- Task Filtering: Filter tasks based on their status (
done
orundone
), priority (low
,medium
andheigh
) and searching by name. - Context API: Utilize React's Context API to manage state and share data between components.
- Ant Design: Use Ant Design library for UI components and styling.
- SCSS: Customize and style the application using SCSS.
- API Integration: Communicate with the Spring Boot API to fetch and save task data.
- Testing with Jest: Includes unit tests using Jest for testing API funtions.
The project structure follows the standard Create React App convention:
src
: Contains the application source code.components
: Contains reusable React components.context
: Contains the context provider and related files for managing state.pages
: Contains the main application pages.scss
: Contains SCSS files for styling the application.api
: Contains utility functions calling endpoints.hooks
: Contains custom hooks based on context.shared
: Contains code sections made with components.config
: Contains a variable with backend variable.
The application includes unit tests using Jest for frontend components and API functions. To run the tests, use the following command:
npm run test
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request describing your changes.
This project is licensed under the MIT License.