Todo List Application

This is a full-stack Todo List application with a frontend built using Vite.js, React, TypeScript, and Ant Design and a backend using Node.js, Express, and PostgreSQL.

Prerequisites

  • Node.js: Make sure you have Node.js installed. You can download it from here.
  • PostgreSQL: Ensure that PostgreSQL is installed and running.

Backend Setup

1. Clone the Repository

git clone https://github.com/elyin/todo-list-app-ts.git
cd todo-list-app-ts/backend

2. Install Dependencies

Navigate to the backend directory and install the required dependencies:

npm install

3. Set Up Environment Variables

Create a .env file in the backend directory and add your PostgreSQL database connection details:

NODE_ENV=development
POSTGRES_USER=your_postgres_user
POSTGRES_PASSWORD=your_postgres_password
POSTGRES_DB=your_database_name
POSTGRES_HOST=localhost
POSTGRES_PORT=5432

4. Run the Backend Server

Now, start the backend server:

npm run dev

The backend should now be running on http://localhost:3000.


Frontend Setup

1. Navigate to the Frontend Directory

After cloning the repository, navigate to the frontend directory:

cd ../frontend

2. Install Frontend Dependencies

Install the required dependencies for the frontend:

npm install

3. Run the Frontend Development Server

Start the frontend development server:

npm run dev

The frontend will run on http://localhost:5173.


Screenshots

Home Page

Home Page

Adding a New Task

Adding a New Task

Editing a Task

image image

Deleting a Task

image image


Usage

  1. Open http://localhost:5173 in your browser.
  2. You can create new tasks, edit existing tasks, or delete tasks.
  3. All changes will be reflected in real-time.

Technologies Used

  • Frontend:

    • React (with TypeScript)
    • Vite.js
    • Ant Design
    • Zod (for validation)
  • Backend:

    • Node.js
    • Express.js
    • PostgreSQL

License

This project is licensed under the MIT License - see the LICENSE file for details.