Skip to content

Latest commit

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Stickies

A modern note-taking application built with FastAPI, SQLAlchemy, and SQLite.

Features

  • User Authentication: Register, login, logout with JWT tokens
  • Notes CRUD: Create, read, update, delete notes
  • Search: Case-insensitive full-text search
  • Pin Notes: Keep important notes at the top
  • Archive: Hide notes without deleting
  • Colors: 12 color options for visual organization
  • Responsive UI: Clean, modern interface

Tech Stack

  • Backend: FastAPI, SQLAlchemy, Pydantic
  • Database: SQLite
  • Auth: JWT (access + refresh tokens), bcrypt
  • Frontend: Jinja2 templates, vanilla JavaScript
  • Testing: pytest, httpx

Quick Start

1. Create virtual environment

python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

2. Install dependencies

pip install -r requirements.txt

3. Run the application

uvicorn app.main:app --reload

Visit http://127.0.0.1:8000

4. Run tests

pytest -v

API Endpoints

Authentication

MethodEndpointDescription
POST/auth/registerCreate account
POST/auth/loginLogin, get tokens
POST/auth/logoutInvalidate token
POST/auth/refreshRefresh access token
GET/auth/meGet current user

Notes

MethodEndpointDescription
POST/notesCreate note
GET/notesList notes (with search, filters)
GET/notes/{id}Get single note
PUT/notes/{id}Update note
DELETE/notes/{id}Delete note
POST/notes/{id}/pinToggle pin
POST/notes/{id}/archiveArchive note
POST/notes/{id}/unarchiveRestore note

Project Structure

Stickies/
├── app/
│ ├── core/ # Config, database, security
│ ├── models/ # SQLAlchemy models
│ ├── routers/ # API endpoints
│ ├── schemas/ # Pydantic schemas
│ ├── static/ # CSS, JavaScript
│ ├── templates/ # Jinja2 HTML templates
│ ├── tests/ # pytest tests
│ └── main.py # FastAPI application
├── docs/ # Tutorial documentation
├── requirements.txt
└── README.md

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages