This is a simple todo application built with TypeScript. The purpose of this project is to learn TypeScript and explore the integration of various technologies.
- Create, read, update, and delete todos
- Mark todos as completed
- Filter todos by status (completed or active)
- Express - Fast, unopinionated, minimalist web framework for Node.js
- Prisma - Modern database toolkit for TypeScript and Node.js
- PostgreSQL - Relational database management system
- Axios - Promise-based HTTP client for the browser and Node.js
- Recoil - State management library for React
- React Router DOM - Declarative routing for React
- Node.js and npm installed on your machine
- PostgreSQL database setup
- Clone the repository:
git clone https://github.com/your-username/todo-app.git
- Navigate to the backend directory:
cd todo-app/backend
- Install dependencies:
npm install
- Create a
.env
file and configure the database connection - Run database migrations:
npx prisma migrate dev
- Start the backend server:
npm start
- Navigate to the frontend directory:
cd todo-app/frontend
- Install dependencies:
npm install
- Update the API base URL in
src/api/config.ts
to match your backend server - Start the frontend development server:
npm start
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
This project is licensed under the MIT License.