A minimal, secure full-stack encrypted diary and note-taking platform.
Backend: ASP.NET Core 10 · EF Core 10 · Identity · JWT · PostgreSQL · Scalar
Frontend: React 19 · TypeScript · Vite · Tailwind CSS · Zustand
- Register & login using email or username
- JWT-based authentication with refresh tokens
- End-to-end encryption for diary entries
- EF Core with PostgreSQL
- Clean layered architecture (Entities, DTOs, Services, Endpoints, Validators)
- Automatic OpenAPI generation + Scalar UI
- FluentValidation for request validation
- Modern React with TypeScript
- Secure authentication flow
- Diary CRUD operations (Create, Read, Update, Delete)
- Zustand state management
- Tailwind CSS styling
- HTTPS development environment
- .NET 10 SDK
- PostgreSQL 18
- EF Core tools:
dotnet tool install --global dotnet-ef- *Node.js 18+
- npm or pnpm
Install backend dependencies:
sudo pacman -S dotnet-sdk aspnet-runtime postgresqlInstall frontend dependencies:
sudo pacman -S nodejs npmDocs:
- .NET 10: https://dotnet.microsoft.com
- PostgreSQL: https://www.postgresql.org/download/windows/
- Node.js: https://nodejs.org
Database:
"ConnectionStrings": { "DefaultConnection": "Host=localhost;Database=purenote;Username=YOUR_USER;Password=YOUR_PASS" }JWT:
"Jwt": { "Key": "your-super-long-unique-32-byte-secret-key-here", "Issuer": "PureNote", "Audience": "PureNoteUsers", "ExpiryInMinutes": 60 }CORS:
"AllowedOrigins": [ "https://localhost:3000" ]Update the API base URL if needed:
const API_BASE_URL = "https://localhost:7000/api";cd PureNote.Api # Apply migrations dotnet ef database update # Run the API dotnet runAPI will be available at:
- HTTPS:
https://localhost:7000 - Scalar Docs:
https://localhost:7000/scalar
cd purenote-web # Install dependencies npm install # Run development server npm run devFrontend will be available at:
- HTTPS:
https://localhost:3000
Run with hot reload:
dotnet watchDevelopment mode:
npm run devInteractive API documentation is available via Scalar:
https://localhost:7000/scalar Explore endpoints, test requests, and view schemas directly in the browser.
- ASP.NET Core 10 - Minimal APIs
- EF Core 10 - ORM with PostgreSQL
- Identity 10.0.0 - User management
- JWT Authentication 10.0.0 - Secure token-based auth
- Npgsql 10.0.0 - PostgreSQL provider
- Scalar.AspNetCore 2.11.0 - API documentation
- FluentValidation 12.1.0 - Request validation
- React 19 - UI library
- TypeScript - Type safety
- Vite - Build tool & dev server
- Tailwind CSS 4 - Utility-first styling
- Zustand - Lightweight state management
- React Router 7 - Client-side routing
- Axios - HTTP client
- End-to-end encryption for diary entries
- JWT authentication with secure token handling
- HTTPS-only in development and production
- Input validation with FluentValidation
- CORS configured for frontend origin
- Password hashing via ASP.NET Core Identity
Licensed under the GNU GPLv3.