tatou 0.1.1

Tatou is a simple TUI application to manage and organize tasks.
mod app;
mod db;
mod project;
mod ui;

use std::{fs, io};

use crate::app::{App, AppError, AppResult};

fn main() -> AppResult<()> {
  let mut db_path = dirs_next::data_dir().ok_or_else(|| {
    AppError::Io(io::Error::new(
      io::ErrorKind::NotFound,
      "Could not find user data directory",
    ))
  })?;
  db_path.push("tatou");
  fs::create_dir_all(&db_path)?;
  db_path.push("tatou.db");

  let mut terminal = ratatui::init();

  let mut app = App::new(db_path)?;
  app.run(&mut terminal)?;

  ratatui::restore();
  Ok(())
}