Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 DopaNotes

A task, habit and note manager built for easily distracted brains.

Python FastAPI PostgreSQL Docker SQLAlchemy JavaScript

License Last Commit


What is DopaNotes?

DopaNotes is a personal productivity tool designed with ADHD in mind. It combines task management, habit tracking, and note-taking into a single, focused interface — because switching between five different apps is exactly the kind of friction that kills your focus.

Built with a lightweight FastAPI backend and a plain JavaScript frontend, it runs fully containerized via Docker so setup is painless and you can focus on what matters: actually getting things done.


✨ Features

  • 📝 Notes — Quick capture for thoughts before they vanish
  • Tasks — Simple to-do management without the bloat
  • 🔁 Habits — Track recurring behaviors and build streaks
  • Fast API — RESTful backend with automatic docs at /docs
  • 🐳 Docker-first — One command to spin everything up
  • 🔒 Environment-based config — No secrets hardcoded, ever

🛠 Tech Stack

Layer Technology
Backend FastAPI + Uvicorn
Database PostgreSQL 15
ORM SQLAlchemy
Frontend Vanilla JavaScript
Container Docker + Docker Compose

🚀 Getting Started

Prerequisites

That's it. You don't even need Python installed locally.


1. Clone the repository

git clone https://github.com/gilas-byte/DopaNotes.git
cd DopaNotes

2. Configure your environment

cp .env.example .env

Open .env and fill in your values:

POSTGRES_USER=your_user
POSTGRES_PASSWORD=your_secure_password
POSTGRES_DB=dopanotes

⚠️ Never commit your .env file. It's already in .gitignore.

3. Start the containers

docker-compose up --build

This will start:

  • PostgreSQL 15 on port 5433
  • FastAPI backend on port 8000

4. Access the app

Service URL
Frontend http://localhost:8000
API Docs (Swagger) http://localhost:8000/docs
ReDoc http://localhost:8000/redoc

📁 Project Structure

DopaNotes/
├── backend/            # FastAPI application
│   ├── main.py         # App entrypoint and route registration
│   ├── models/         # SQLAlchemy database models
│   ├── schemas/        # Pydantic request/response schemas
│   ├── routers/        # API route handlers
│   └── database.py     # DB connection and session management
├── frontend/           # JavaScript frontend
│   ├── index.html
│   ├── app.js
│   └── style.css
├── .env.example        # Environment variable template
├── docker-compose.yml  # Multi-container Docker setup
├── Dockerfile          # Backend container definition
└── requirements.txt    # Python dependencies

🧪 Development Tips

To run only the database (useful when developing locally without Docker for the backend):

docker-compose up db

To check logs:

docker-compose logs -f backend

To stop everything:

docker-compose down

To reset the database volume (⚠️ deletes all data):

docker-compose down -v

📄 License

This project is open source under the MIT License.


Built with ☕ and a lot of tab-switching by @gilas-byte

About

Task, habit and note manager for easily distracted brains. FastAPI + PostgreSQL + Docker.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages