Skip to content

Created a real-time collaborative note-taking application using React and Python (FastAPI). Developed multi-user editing functionality similar to Google Docs using WebSocket.

Notifications You must be signed in to change notification settings

VaibhavDhanani/SmartNotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SmartNotes

A modern, intelligent note-taking application designed to help you capture, organize, and retrieve your thoughts effortlessly.

Features

  • Rich Text Editing: Full-featured editor with markdown support
  • Search & Filter: Powerful search functionality to find notes quickly
  • Cross-Platform Sync: Access your notes from anywhere
  • Export Options: Export notes in multiple formats (PDF, Document(DOCS))

Glimps

Home Screen

image

Workspace

image

Directory/Document Creation

image

Document Editor

image

Share Access

image

Shared Documents

image

Collaborative Editor

image

Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm package manager

Installation

  1. Clone the repository:
git clone https://github.com/vaibhavdhanani/smartnotes.git
cd fronted
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Goto backend folder, create virtual environment:
cd ../backend
python -m venv venv
pip install -r requirments.txt
alembic upgrade head # for database creation
  1. Run backend server:
uvicorn app.main:app --reload
  1. Open your browser and navigate to http://localhost:5173

Usage

Creating Notes

  1. Click the "New", select directory or document
  2. Start typing your note content
  3. Save automatically as you type

Organizing Notes

  • Folders: Create folders to group related notes
  • Search: Use the search bar to find notes by title

Configuration

Create a .env file in the fronted directory:

VITE_SERVER_URL="http://127.0.0.1:8000"

Create a .env file in the backend directory:

DB_HOST=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_PORT=
SECRET_KEY=
ALGORITHM=
ACCESS_TOKEN_EXPIRE_MINUTES=

API Documentation

Endpoints

Goto http://127.0.0.1:8000/docs

image

Tech Stack

  • Frontend: React + Vite
  • Backend: FastAPI with Python
  • Database: PostgreSQL (Neon Serverless)
  • Authentication: JWT
  • Used Modules: WebSocket

About

Created a real-time collaborative note-taking application using React and Python (FastAPI). Developed multi-user editing functionality similar to Google Docs using WebSocket.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published