This is a full-featured Todo application built with the PERN stack (PostgreSQL, Express.js, React, Node.js). The application allows users to manage their daily tasks efficiently with user authentication, CRUD operations on todos, and more.
-
User Authentication
- Secure user authentication using JWT tokens.
- Login and registration functionality.
- Password encryption for security.
-
User Management
- Creation and deletion of user accounts.
- Profile management for users.
-
Todo Management
- Create, read, update, and delete todos.
-
Responsive Design
- Fully responsive UI, works on both desktop and mobile devices.
- Backend
- Node.js
- Express.js
- PostgreSQL for the database
- JWT for authentication
- Node.js and npm installed
- PostgreSQL installed and running
-
Clone the repository:
git clone https://github.com/yourusername/pern-todo-app.git
-
Navigate to the project directory:
cd pern-todo-app
-
Install dependencies for both the client and server:
cd client npm install cd ../server npm install
-
Set up the PostgreSQL database:
- Create a new database named
todoapp
. - Create a
.env
file in the server directory and add your database credentials:
- Create a new database named
-
Start the backend server:
cd server npm start
-
Start the frontend development server:
cd client npm start
- POST /api/signup - Register a new user
- POST /api/login - Login a user
- GET /api/users/:id - Get user details
- DELETE /api/users/:id - Delete a user account
- GET /api/todos - Get all todos
- POST /api/todos - Create a new todo
- PUT /api/todos/:id - Update a todo
- DELETE /api/todos/:id - Delete a todo
Contributions are welcome! Please fork the repository and create a pull request with your changes. Ensure your code adheres to the project's coding standards and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for more details.
For any questions or feedback, please contact me at [email protected].
Happy coding!