RPAVault To-Do (rpavault-todo)

A high-performance, TickTick-style task management web application integrated directly with Notion's "Team To Do's" database, built with Next.js 14 (App Router), TypeScript, Tailwind CSS, and SQLite.

Hosted under the URL slug: /2do/


โšก Quick Start

1. Requirements

2. Configure Environment Variables

Copy .env.local.example to .env.local:

cp .env.local.example .env.local

Fill in the credentials:

NOTION_TOKEN=secret_your_notion_integration_token_here
NOTION_DATA_SOURCE_ID=bb9ee8c4-8df2-82ec-8281-815b6c3ddb80
AUTH_USERNAME=admin
AUTH_PASSWORD=rpavault
SHIVANI_USERNAME=shivani
SHIVANI_PASSWORD=rpavault123
SESSION_SECRET=a_long_32_character_session_encryption_secret_key!

๐Ÿ”‘ User Access & Changing Passwords

To change passwords or modify user credentials in the future:

  1. Open .env.local inside rpavault-todo/.
  2. Update AUTH_PASSWORD for the Admin / Kumar user or SHIVANI_PASSWORD for Shivani.
  3. Save the file and restart the Next.js process (npm run build && npm start or npm run dev).
  4. Session tokens will validate against the updated credentials upon subsequent logins.

3. Share Database with Notion Integration

[!IMPORTANT] In Notion, open your Team To Do's database, click "..." at the top-right corner, go to Connections, and add your integration. Without this step, Notion API calls will return 404 Object Not Found.

4. Run Development Server

npm run dev

Open http://localhost:3000/2do (or /2do/login) in your browser.


๐Ÿš€ Key Features


๐Ÿ“ Known Limitations


๐Ÿงช Testing

Run the Vitest test suite for recurrence calculations:

npm test