Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anonymousknight07/todo_app
This is a very simple to do app
https://github.com/anonymousknight07/todo_app
css ejs eslint-config javascript json nodejs
Last synced: about 8 hours ago
JSON representation
This is a very simple to do app
- Host: GitHub
- URL: https://github.com/anonymousknight07/todo_app
- Owner: anonymousknight07
- Created: 2024-01-09T10:20:51.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-01-26T19:20:47.000Z (10 months ago)
- Last Synced: 2024-01-26T21:29:49.837Z (10 months ago)
- Topics: css, ejs, eslint-config, javascript, json, nodejs
- Language: JavaScript
- Homepage: https://todo-app-tgmg.onrender.com
- Size: 85.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Todo App
Welcome to the Todo App! This is a user-friendly web application built with Node.js and Express, designed to help you efficiently manage your tasks.
## Getting Started
### Prerequisites
Make sure you have Node.js and npm installed on your machine.
### Installation
1. **Clone the Repository:**
```bash
git clone https://github.com/your-username/todo-app.git
```2. **Change into the Project Directory:**
```bash
cd todo-app
```
3. **Install Dependencies:**
```bash
npm install
```
4. **Start the Application on Port 3000:**
```bash
npm start
```
5. **Additional Scripts:**
```bash
npm test # Run tests (uses the test database)
npm run dev # Run a dev server (uses the development database)`
```
### Features
- User authentication with Passport.js
- Secure password storage using bcrypt
- Sequelize ORM for PostgreSQL database interactions
- Jest for running tests### Dependencies
- bcrypt: Password hashing library
- cheerio: HTML parsing and manipulation
- connect-ensure-login: Ensures a user is logged in
- connect-flash: Flash messages for Express
- cookie-parser: Parse cookies in Express
- csurf: CSRF token middleware
- ejs: Embedded JavaScript templates
- express: Web application framework for Node.js
- express-session: Session middleware for Express
- passport: Authentication middleware for Node.js
- passport-local: Local authentication strategy for Passport
- pg: PostgreSQL client for Node.js
- sequelize: Promise-based ORM for Node.js
- tiny-csrf: Lightweight CSRF token middleware### Database Setup
To set up the database for the Todo App, follow these steps:
1. **Install PostgreSQL:**
- Download and install PostgreSQL from the official website.2. **Configure Database Connection:**
- Open the config/config.json file in your Todo App project.
- Update the development configuration with your PostgreSQL credentials:```
{
"development": {
"username": "your_postgresql_username",
"password": "your_postgresql_password",
"database": "your_database_name",
"host": "127.0.0.1",
"dialect": "postgres"
}
}
Update the production and testing database details similarly.
```3. **Run Migrations:**
- Open a terminal in your project directory.
- Run the following command to apply the database migrations:
```bash
npx sequelize-cli db:migrate
```
4. **Start the Application:**
- After configuring the database, start your Todo App with:
```bash
npm start
```
Remember to replace placeholders like `your_postgresql_username`, `your_postgresql_password`, and `your_database_name` with your actual PostgreSQL credentials. If you encounter any issues, ensure PostgreSQL is running, and your credentials are correctly configured.