Notify is a modern web application built with SvelteKit, TailwindCSS, and PostgreSQL that enables users to create, manage, and organize their notes with Markdown support and real-time preview.
- 🔐 Secure authentication with Firebase
- 📝 Markdown editor with live preview
- 🔍 Full-text search across notes
- 📱 Responsive design for mobile and desktop
- 🎨 Dark mode interface
- ⚡ Real-time updates and autosave
- 🔒 User data isolation and security
-
Clone the repository:
git clone /~https://github.com/ifsvivek/Notify.git cd Notify
-
Install dependencies:
npm install
-
Set up environment variables:
-
Copy
.env.example
to.env
:cp .env.example .env
-
Configure the following Firebase variables in
.env
:VITE_FIREBASE_API_KEY=your_api_key VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id VITE_FIREBASE_APP_ID=your_app_id
-
Configure PostgreSQL connection:
POSTGRES_URL=your_postgres_connection_string
-
Run the application in development mode with hot reloading:
npm run dev
The app will be available at http://localhost:5173
Create an optimized production build:
npm run build
Preview the production build locally:
npm run preview
Visit the live demo to see the application in action.
src/
├── app.css # Global styles
├── app.html # HTML template
├── components/ # Reusable components
├── lib/ # Shared utilities
│ ├── firebase.js # Firebase configuration
│ └── index.js # Library exports
└── routes/ # SvelteKit routes
├── +layout.svelte
├── +page.svelte
├── auth/
└── notes/
Format code with Prettier:
npm run format
Check formatting:
npm run lint
- SvelteKit: Full-stack framework for building web applications
- TailwindCSS: Utility-first CSS framework
- marked: Markdown parsing and rendering
- highlight.js: Syntax highlighting for code blocks
- Firebase Authentication: User authentication and session management
- PostgreSQL: Persistent data storage
- Vercel Postgres: Managed PostgreSQL service
- Vite: Build tool and development server
- Prettier: Code formatting
- PostCSS: CSS processing
- Vercel: Hosting and deployment platform
Required environment variables are listed in .env.example
. Make sure to configure:
- Firebase Authentication credentials
- PostgreSQL connection string
- Any additional service configurations
The application uses the following PostgreSQL schema:
CREATE TABLE notes (
id SERIAL PRIMARY KEY,
user_id TEXT NOT NULL,
title TEXT NOT NULL,
content TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Vivek Sharma - @ifsvivek