Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/siddhant-vij/note-taking-app

Practice project for Non-Relational DBMS | CRUD App | CLI tool for efficient note management.
https://github.com/siddhant-vij/note-taking-app

bash cli-app cpp crud-application dbms go java mongodb non-relational-database python

Last synced: about 1 month ago
JSON representation

Practice project for Non-Relational DBMS | CRUD App | CLI tool for efficient note management.

Awesome Lists containing this project

README

        

# Note-Taking App

A command-line application designed to simplify the process of creating, organizing, and finding notes. Efficient note management - code in Bash, Java, C++, Go & Python.




Utilizing a non-relational database, it caters to users looking for a quick and efficient way to manage their notes, reminders, and to-dos. With features like tagging, searching, and categorization, it's an ideal solution for personal information management.


## Table of Contents

1. [Features](#features)
1. [Technical Scope](#technical-scope)
1. [Installation and Usage](#installation-and-usage)
1. [Contributing](#contributing)
1. [License](#license)


## Features

- **CRUD Operations**: Create, read, update, and delete notes.
- **Tagging System**: Assign tags to notes for easier categorization and retrieval.
- **Search Functionality**: Search notes by content, title, or tags.
- **Data Persistence**: Store book data in a non-relational database.
- **Query Operations**: Perform simple-to-advanced queries on the database.


## Technical Scope

- **Database**: MongoDB for data storage and management.
- **Languages**: Implementations in Bash, Java, C++, Go, and Python.
- **CLI Interface**: Simple and intuitive command-line interface for user interaction.
- **Problem Solving**: Solve the problems in the problem statements (problems.txt) using the random data (input_data.csv).


## Installation and Usage

1. **Clone the Repository**:
```bash
git clone https://github.com/siddhant-vij/Note-Taking-App.git
```
2. **Navigate to Language Directory**:
```bash
cd Note-Taking-App/[language]
```
3. **Install Dependencies**: Standard instructions to be followed for each language, if any external dependency.
4. **Install the required database**: Standard instructions to be followed for each database, as required.
3. **Build and Run the Application**: Standard instructions to be followed for each language.
4. **Using the CLI**: Follow the on-screen prompts to perform database operations.


## Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. **Fork the Project**
2. **Create your Feature Branch**:
```bash
git checkout -b feature/AmazingFeature
```
3. **Commit your Changes**:
```bash
git commit -m 'Add some AmazingFeature'
```
4. **Push to the Branch**:
```bash
git push origin feature/AmazingFeature
```
5. **Open a Pull Request**


## License

Distributed under the MIT License. See [`LICENSE`](https://github.com/siddhant-vij/Note-Taking-App/blob/main/LICENSE) for more information.