{"id":30884932,"url":"https://github.com/hammadhttps/rtk-learning-project","last_synced_at":"2026-04-11T14:04:04.756Z","repository":{"id":310847092,"uuid":"1041473176","full_name":"hammadhttps/rtk-learning-project","owner":"hammadhttps","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-20T15:07:03.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-20T16:32:56.200Z","etag":null,"topics":["react-redux-toolkit","reactjs","redux","redux-toolkit","state","state-management","store","tailwind-css","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hammadhttps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-20T14:36:19.000Z","updated_at":"2025-08-20T15:08:50.000Z","dependencies_parsed_at":"2025-08-20T16:32:58.731Z","dependency_job_id":"ac61be64-cc85-4add-b993-0a09e21a9bb6","html_url":"https://github.com/hammadhttps/rtk-learning-project","commit_stats":null,"previous_names":["hammadhttps/rtk-learning-project"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/hammadhttps/rtk-learning-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hammadhttps%2Frtk-learning-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hammadhttps%2Frtk-learning-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hammadhttps%2Frtk-learning-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hammadhttps%2Frtk-learning-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hammadhttps","download_url":"https://codeload.github.com/hammadhttps/rtk-learning-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hammadhttps%2Frtk-learning-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274175188,"owners_count":25235416,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["react-redux-toolkit","reactjs","redux","redux-toolkit","state","state-management","store","tailwind-css","vite"],"created_at":"2025-09-08T11:22:53.981Z","updated_at":"2025-12-30T21:27:18.973Z","avatar_url":"https://github.com/hammadhttps.png","language":"JavaScript","readme":"## Redux Toolkit Learning Project (React + Vite + Tailwind)\n\nThis is a simple learning project to practice state management with Redux Toolkit. It shows how to use `configureStore`, `createSlice`, reducers, actions, and selectors in a small React app.\n\n### What this project demonstrates\n- **configureStore**: Combines slice reducers in `src/store/store.js`.\n- **Slices**: Feature-based state using `createSlice`.\n  - `src/app/features/auth/authSlice.js`\n  - `src/app/features/posts/postSlice.js`\n  - `src/app/features/stories/storiesSlice.js`\n- **Reducers \u0026 actions**: Defined in each slice and exported for use in components.\n- **Selectors**: Simple functions to read from the store (e.g., `selectCurrentUser`, `selectAllposts`, `selectAllStories`).\n- **UI**: React components styled with Tailwind CSS.\n\n### Tech stack\n- React + Vite\n- Redux Toolkit + React Redux\n- Tailwind CSS\n\n### Run locally\n1. Install dependencies\n   - `npm install`\n2. Start the dev server\n   - `npm run dev`\n3. Build for production (optional)\n   - `npm run build`\n4. Preview production build (optional)\n   - `npm run preview`\n\n### Project structure (key files)\n- `src/store/store.js`: Creates the Redux store with `configureStore` and registers slice reducers.\n- `src/app/features/auth/authSlice.js`: Auth slice and `selectCurrentUser` selector.\n- `src/app/features/posts/postSlice.js`: Posts slice with actions like `postAdded`, `postLiked`, `commentAdded`.\n- `src/app/features/stories/storiesSlice.js`: Stories slice and `selectAllStories` selector.\n- `src/main.jsx`: Wraps the app in `\u003cProvider store={store}\u003e`.\n\n### How to add a new slice (simple steps)\n1. Create a new file under `src/app/features/\u003cfeature\u003e/\u003cfeature\u003eSlice.js`.\n2. Use `createSlice({ name, initialState, reducers })` and export the actions and reducer.\n3. Register the reducer in `src/store/store.js` under `reducer: { ... }`.\n4. Create selectors to read data from the slice state.\n\nThat’s it — this project is just for learning Redux Toolkit basics with a small, readable setup.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhammadhttps%2Frtk-learning-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhammadhttps%2Frtk-learning-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhammadhttps%2Frtk-learning-project/lists"}