Skip to content

narainkarthikv/sticky-memo

Repository files navigation

🎴 Sticky-Memo

Welcome to Sticky-Memo! This project lets you create and manage sticky notes using React.js, Vite, and MUI. It's a great way to practice your frontend skills, contribute to open source, and join a friendly community. Whether you're a beginner or a pro, your contribution is welcome! 🀍🀝

GitHub issues GitHub forks GitHub stars MIT License


πŸ“š Table of Contents


πŸ“ About

Sticky-Memo lets you:

  • Create, edit, and delete sticky notes on a digital board
  • Organize notes by boards, tables, and categories
  • Practice React, Vite, and MUI
  • Collaborate with a friendly open-source community

🌐 Demo

πŸ‘‰ Live Preview


πŸ› οΈ Tech Stack

  • React.js
  • Vite
  • Material UI (MUI)
  • JavaScript (ES6+)

πŸš€ Getting Started

Follow these steps to get started:

  1. Fork this repository (top right of this page)
  2. Clone your fork:
    git clone https://github.com/<your-username>/sticky-memo.git
    cd sticky-memo
  3. Install dependencies:
    npm install
  4. Start the development server:
    npm run dev
  5. Open http://localhost:5173 in your browser to view the app.

🀝 How to Contribute

We welcome all contributions! Here’s a quick guide:

  1. Fork the repo and create your branch from main or develop.
  2. Make your changes (add features, fix bugs, improve docs, etc).
  3. Check your changes: Run the app locally and ensure everything works.
  4. Commit and push your changes:
    git add .
    git commit -m "Describe your changes"
    git push origin <your-branch-name>
  5. Open a Pull Request and fill out the PR template.

Need help? Open an issue or ask in the discussions!


πŸ“ Project Structure

β”œβ”€β”€ public/
β”‚   └── favicon.svg
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Board/
β”‚   β”‚   β”œβ”€β”€ common/
β”‚   β”‚   β”œβ”€β”€ Loading/
β”‚   β”‚   β”œβ”€β”€ Note/
β”‚   β”‚   └── Table/
β”‚   β”œβ”€β”€ context/
β”‚   β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ styles/
β”‚   β”œβ”€β”€ themes/
β”‚   β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ App.jsx
β”‚   └── main.jsx
β”œβ”€β”€ index.html
β”œβ”€β”€ package.json
β”œβ”€β”€ vite.config.js
└── README.md

Happy Contributing! πŸŽ‰


Installation

Clone the Repository

  1. Fork the repository by clicking the "Fork" button at the top right of the repository page on GitHub. Forking the Repository
  2. Clone your forked repository to your local machine:
    git clone https://github.com/your-username/Sticky-Memo.git
  3. Navigate to the project directory:
    cd Sticky-Memo

Frontend Installation

After cloning the repository:

  1. Install the dependencies:
    npm install
  2. Start the development server:
    npm run dev

Project Structure

The frontend directory contains the React application.

frontend/
β”œβ”€β”€ public/                 # Public assets
β”œβ”€β”€ src/                    # Source code
β”‚   β”œβ”€β”€ assets/             # Static assets
β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”œβ”€β”€ pages/              # Application pages
β”‚   β”œβ”€β”€ styles/             # Styling files
β”‚   β”œβ”€β”€ utils/              # Utility functions
β”‚   β”œβ”€β”€ App.jsx             # Main component that sets up routes
β”‚   └── main.jsx            # Entry point of the React application
β”œβ”€β”€ index.html              # HTML template
β”œβ”€β”€ package.json            # Project metadata and dependencies
└── vite.config.js          # Vite configuration

Contributing

We welcome contributions! To contribute to Sticky-Memo, follow these steps:

Forking the Repository

  1. Fork the repository by clicking the "Fork" button at the top right of the repository page on GitHub. Forking the Repository

Cloning the Repository

  1. Clone your forked repository to your local machine:
    git clone https://github.com/your-username/Sticky-Memo.git
  2. Navigate to the project directory:
    cd Sticky-Memo

Creating a Branch

  1. Create a new branch for your feature or bug fix (create a branch according to the issue working on):
    git switch -c your-branch-name

Making Changes

  1. Make your changes to the codebase. You can edit the files using your preferred code editor.

Committing Changes

  1. Add the changes to the staging area:
    git add .
  2. Commit the changes with a descriptive message:
    git commit -m "Description of your changes"

Pushing Changes

  1. Push the changes to your forked repository:
    git push origin your-branch-name

Creating a Pull Request

  1. Create a pull request from your forked repository to the main repository. Go to the "Pull Requests" tab on the main repository, and click "New Pull Request". Follow the instructions to create your pull request.

Development Standards

Code Style

  • We use ESLint and Prettier for code formatting and linting
  • EditorConfig ensures consistent coding style across different editors
  • All JavaScript/JSX files must follow the established ESLint rules
  • Maximum line length is 100 characters
  • Use 2 spaces for indentation

Documentation

  • All components, functions, and methods must have JSDoc documentation
  • Include clear and concise descriptions for parameters and return values
  • Document complex logic with inline comments
  • Keep the README and other documentation up to date

Git Workflow

  • Create feature branches from main using format: feature/description
  • Create bug fix branches using format: fix/description
  • Follow conventional commits specification
  • Submit PRs using the provided template
  • Squash commits before merging

Code Review Process

  • All PRs require at least one review
  • Address all comments and suggestions
  • Ensure CI checks pass before merging
  • Keep PRs focused and reasonably sized

Testing

  • Write unit tests for new features
  • Maintain test coverage above 80%
  • Test components in isolation
  • Include both positive and negative test cases

Contributors

We appreciate the contributions of the following individuals: Contributors

This is just the beginning! I look forward to making more meaningful contributions and collaborating with this amazing community. Let's build something great together and make Sticky-Memo the best it can be! ❀️🀝

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributors 22

Languages