diff --git a/.github/Contributor_Guide/Contributing.md b/.github/Contributor_Guide/Contributing.md index 7d75111..24efb25 100644 --- a/.github/Contributor_Guide/Contributing.md +++ b/.github/Contributor_Guide/Contributing.md @@ -1,12 +1,12 @@ -# Contribute to +# Contribute to redux-tasker -Thank you for taking the time to contribute to ! We really appreciate it. +Thank you for taking the time to contribute to redux-tasker! We really appreciate it. Before contributing, please make sure to read the [Code of Conduct](../../CODE_OF_CONDUCT.md). We expect you to follow it in all your interactions with the project. -## New to ? +## New to redux-tasker? -If you are new to , please take a look at the [documentation](./Project_Tour.md). It is a great place to start. +If you are new to redux-tasker, please take a look at the [documentation](./Project_Tour.md). It is a great place to start. ## New Contributor Guide @@ -22,16 +22,27 @@ If you find a bug in the source code, you can help us by [submitting an issue](. ### Suggesting Enhancements -If you want to suggest an enhancement to , please [submit an issue](../ISSUE_TEMPLATE/feature_request.yaml). +If you want to suggest an enhancement to redux-tasker, please [submit an issue](../ISSUE_TEMPLATE/feature_request.yaml). ### Pull Requests -If you want to contribute to , submit a pull request. +If you want to contribute to redux-tasker, submit a pull request. -- url: `https://github.com/OPCODE-Open-Spring-Fest//compare/branch...YOURGITHUBUSERNAME::BRANCH?quick_pull=1&template=pr.md` +- url: `https://github.com/OPCODE-Open-Spring-Fest/redux-tasker/compare/branch...YOURGITHUBUSERNAME:redux-tasker:BRANCH?quick_pull=1&template=pr.md` ### Requirements - +``` bash +Node js +git and git-hub +``` ### Setup +```bash +git clone https://github.com/OPCODE-Open-Spring-Fest/redux-tasker + +cd redux-tasker + +npm install +npm run dev +``` diff --git a/.github/Contributor_Guide/Project_Tour.md b/.github/Contributor_Guide/Project_Tour.md index a37e500..951ce25 100644 --- a/.github/Contributor_Guide/Project_Tour.md +++ b/.github/Contributor_Guide/Project_Tour.md @@ -1,12 +1,112 @@ # Project Tour +It appears you have a project directory structure for a Todo application. Here's the breakdown: -* notes: -* > Discuss about your project file structure -* > what each folder is responsible -* > then go through each file in folders and explain there purpose -* > if possible create a doc system ( there are autogen docs available for most of the languages ) -* > decide coding style , linting style and formatting style and other themes like variable naming etc. -* > provide an example for existing function and tests system if possible -* +1. **Root Directory**: + - `.gitignore`: Git ignore file specifying which files and directories to ignore in version control. + - `CODE_OF_CONDUCT.md`: Code of conduct file. + - `commitlint.config.js`: Configuration file for commit linting. + - `package-lock.json`: Package lock file for Node.js dependencies. + - `package.json`: Package file for Node.js dependencies. + - `README.md`: Readme file containing information about the project. -# MAKE SURE PROJECT MANAGERS UPDATE THIS MD \ No newline at end of file +2. **`.github` Directory**: + - Contains GitHub related files and templates. + - `Contributor_Guide`: Directory containing contributor guide related files. + - `commiting.md`: Guide for committing code. + - `Contributing.md`: Contribution guidelines. + - `Project_Tour.md`: Overview of the project. + - `ISSUE_TEMPLATE`: Directory containing issue templates. + - `bug_report.yaml`: Template for reporting bugs. + - `feature_request.yaml`: Template for requesting features. + - `PULL_REQUEST_TEMPLATE`: Directory containing pull request template. + - `pr.md`: Template for pull requests. + - `workflows`: Directory containing GitHub Actions workflows. + - `commitlint.yaml`: Workflow for commit linting. + - `prmerged.yaml`: Workflow for merged pull requests. + +3. **`.husky` Directory**: + - Directory for Husky Git hooks. + - Contains scripts for various Git hooks like commit-msg, pre-commit, etc. + +4. **`todo-app` Directory**: + - Contains the Todo application code. + - `.eslintrc.cjs`: ESLint configuration file. + - `.gitignore`: Git ignore file specific to the Todo app. + - `index.html`: HTML entry point for the Todo app. + - `package-lock.json`, `package.json`: Package files for Node.js dependencies specific to the Todo app. + - `postcss.config.js`, `tailwind.config.js`, `vite.config.js`: Configuration files for PostCSS, Tailwind CSS, and Vite respectively. + - `README.md`: Readme file containing information about the Todo app. + - `public`: Directory containing public assets. + - `vite.svg`: SVG icon for Vite. + - `src`: Source directory containing application code. + - `App.css`, `App.jsx`, `index.css`, `main.jsx`: Files for the main application logic. + - `assets`: Directory for application assets like images. + - `components`: Directory for React components. + - `redux`: Directory for Redux related files like actions, action types, reducer, and store. + +Overall, this structure organizes the Todo application into separate directories for better manageability and scalability. It follows conventions for Git, GitHub, and Node.js projects. +## Folder Structure +```bash +| .gitignore +| CODE_OF_CONDUCT.md +| commitlint.config.js +| package-lock.json +| package.json +| README.md +| ++---.github +| +---Contributor_Guide +| | commiting.md +| | Contributing.md +| | Project_Tour.md +| | +| +---ISSUE_TEMPLATE +| | bug_report.yaml +| | feature_request.yaml +| | +| +---PULL_REQUEST_TEMPLATE +| | pr.md +| | +| \---workflows +| commitlint.yaml +| prmerged.yaml +| ++---.husky +| commit-msg +| pre-commit +| +\---todo-app + | .eslintrc.cjs + | .gitignore + | index.html + | package-lock.json + | package.json + | postcss.config.js + | README.md + | tailwind.config.js + | vite.config.js + | + +---public + | vite.svg + | + \---src + | App.css + | App.jsx + | index.css + | main.jsx + | + +---assets + | github-cover.png + | + +---components + | FilterButtons.jsx + | Todo.jsx + | TodoItem.jsx + | TodoList.jsx + | + \---redux + actions.js + actionTypes.js + reducer.js + store.js +``` diff --git a/README.md b/README.md index 0be2a12..2f51553 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,64 @@ -# template -A Template Repository for OpenSpringFest (OSF) + + +## Project Name: Redux Mastery + + + +# Redux-Tasker + +Redux-Tasker is a project developed for Open Spring Fest, aimed at testing and enhancing knowledge of Redux and its state management capabilities, particularly in the context of todo list applications. + +## Overview + +Redux-Tasker is a simple yet powerful todo list application built using React, Tailwind CSS, and JavaScript. It incorporates Redux for efficient state management, allowing users to seamlessly add, edit, and delete tasks. + +## Features + +- **Add Tasks:** Easily add new tasks to the todo list. +- **Edit Tasks:** Modify existing tasks with ease. +- **Delete Tasks:** Remove unwanted tasks from the list. +- **Complete Tasks:** Mark tasks as completed or incomplete. +- **Filter Tasks:** Filter tasks based on their completion status (completed or pending). +- **Persist State:** Utilize Redux to persist the todo list state across page reloads. + +## Tech Stack + +- React: Frontend framework for building user interfaces. +- Tailwind CSS: Utility-first CSS framework for styling. +- JavaScript: Programming language for frontend development. +- Redux: State management library for predictable state updates. +- Redux Toolkit: Official Redux package for simplifying Redux logic. + + +## Installation + +To run Redux-Tasker locally, follow these steps: + +1. Clone the repository: + +```bash +git clone https://github.com/OPCODE-Open-Spring-Fest/redux-tasker + +cd redux-tasker + +npm install + +npm run dev +``` +# For Project Tour +## `redux-tasker -> .github -> Contrubution_Guide ->Project_Tour.md` + + +## Contributing +* >We welcome contributions from the community to enhance Redux-Tasker further. To contribute, follow these steps: + +## `Fork the repository.` +* >Create a new branch (git checkout -b feature/my-feature). +* >Commit your changes (git commit -am 'Add my feature'). +* >Push to the branch (git push origin feature/my-feature). +* >Create a new pull request. + +# todo-app-react-redux +![todo-app](/todo-app/src/assets/github-cover.png) + + diff --git a/package-lock.json b/package-lock.json index 300a1b2..6039761 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "template", + "name": "redux-tasker", "lockfileVersion": 3, "requires": true, "packages": {