<p align="center">
  <br>
  <img width="800" src="./docs/images/fresfolio_overview.png" alt="logo of fresfolio repository">
  <br>
  <br>
</p>

##  fresfolio [![Documentation Status](https://readthedocs.org/projects/pip/badge/?version=stable)](https://pip.pypa.io/en/stable/?badge=stable) [![Downloads](https://static.pepy.tech/badge/fresfolio)](https://pepy.tech/project/fresfolio)

*fresfolio* stands for "**F**or **Res**earch **Folio**". It is a browser-based note-taking app designed to help researchers organize and track their projects, datasets, analyses, and results in a structured format. Although the name emphasizes “research", *fresfolio* is equally suitable for personal use, allowing individuals to manage hobby and student projects, or any collection of work in an organized and interactive way. It provides tools for creating rich documentation making it easier to share findings with collaborators.

The rationale behind *fresfolio* is the following:

* User creates **Projects**.
* Each project has one or more **Notebooks**.
* Each notebook has one or more **Chapters**. 
* Each chapter has one or more **Sections**.

*fresfolio* uses Flask as a backend and Vue3 as a frontend.

## Installation

```
pip install fresfolio
```

## Demo

<p align="center">
  <br>
  <img width="800" src="./docs/images/fresfolio_demo.gif" alt="demo of fresfolio">
  <br>
  <br>
</p>

## Documentation

You can read the full documentation here: [https://fresfolio.readthedocs.io](https://fresfolio.readthedocs.io/en/latest/)

## Contributing

Contributions are welcome! Whether you want to report a bug, suggest a feature, or improve the code/documentation, your help is appreciated.

## Project Status: Under Heavy Development

This project is currently under active and heavy development. Features, APIs, and documentation are subject to change at any time.

## The N commandments

List of design rules that should not be broken, unless there is a good reason for it.

1. Commmit messages should have the prefix "FEATURE" for new features, "OPTIMIZED" when enhancing established and working functionality, "FIXED" for fixing bugs and "MINOR" for insignificant commits.
2. Projects should be self-contained directories to facilitate sharing.

