Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chuksjoshuaa/straitpay-todo-app
This project is a comprehensive Task To-Do List application developed using React, Express, and TypeScript. It provides a user-friendly interface for task management, including creating, updating, and deleting tasks. Styled with Tailwind CSS and featuring a REST API for task management.
https://github.com/chuksjoshuaa/straitpay-todo-app
expressjs mongodb mongoose nodejs reactjs typescript
Last synced: about 2 months ago
JSON representation
This project is a comprehensive Task To-Do List application developed using React, Express, and TypeScript. It provides a user-friendly interface for task management, including creating, updating, and deleting tasks. Styled with Tailwind CSS and featuring a REST API for task management.
- Host: GitHub
- URL: https://github.com/chuksjoshuaa/straitpay-todo-app
- Owner: ChuksJoshuaa
- Created: 2023-08-26T09:27:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-29T04:34:53.000Z (11 months ago)
- Last Synced: 2024-04-16T14:14:12.574Z (9 months ago)
- Topics: expressjs, mongodb, mongoose, nodejs, reactjs, typescript
- Language: TypeScript
- Homepage: https://straitpay-todo.vercel.app/
- Size: 181 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Task To-Do List Application
This project is a task To-Do List application built with React and Express. It allows users to create, update, and delete tasks.
## Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes..
## Prerequisites
- Node.js (version 16.20.0)
- npm (version 8.19.4)## Demo Link
Access the live site at [Project-Link](https://straitpay-todo.vercel.app)
## Technologies Used
- React.js
- Tailwind CSS
- JavaScript
- Typescript
- Node.js
- Express.js### Installation
1. Clone the repository
2. Install dependencies in both client and server directories using `npm install`
3. Start the server from the server directory with `npm start`
4. Start the client from the client directory with `npm start`## Client
The client is built with React and TypeScript. It uses the Context API for state management and Tailwind CSS for styling.
### Directory Structure
- `src/components`: Contains all the React components.
- `TaskInput.tsx`: Handles the creation and updating of tasks.
- `TaskList.tsx`: Displays a list of tasks.
- `TaskButton.tsx`: Contains the edit and delete buttons for each task.
- `src/contexts`: Contains the context for state management.
- `src/constants`: Contains the action types for the reducer.
- `src/interface`: Contains the TypeScript interfaces used in the project.
- `src/utils`: Contains utility functions, such as notifications.## Server
The server is built with Express and Node. It provides a REST API for managing tasks.
### Directory Structure
- `src/routes`: Contains the routes for the API.
- `src/controllers`: Contains the controllers for handling requests.
- `src/models`: Contains the data models.## API Design
The API is designed to handle the following endpoints:
- `GET /api/v1/tasks`: Retrieve a list of all tasks.
- `POST /api/v1/tasks/create`: Create a new task.
- `PATCH /api/v1/tasks/update/:id`: Update a task.
- `DELETE /api/v1/tasks/:id`: Delete a task.## Contributing
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
1. Fork the repository.
2. Create a new branch: `git checkout -b feature/your-feature-name`.
3. Make your changes and commit them: `git commit -m 'Add some feature'`.
4. Push to the branch: `git push origin feature/your-feature-name`.
5. Submit a pull request.