{"id":16212232,"url":"https://github.com/mittal-parth/cluboard","last_synced_at":"2025-03-19T09:30:51.419Z","repository":{"id":38791893,"uuid":"368074146","full_name":"mittal-parth/Cluboard","owner":"mittal-parth","description":"A full-stack web application to facilitate sharing resources in college clubs with email notifications, requests and ticketing system, and analytical dashboards.","archived":false,"fork":false,"pushed_at":"2024-07-03T06:32:41.000Z","size":51454,"stargazers_count":15,"open_issues_count":6,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-17T05:44:29.160Z","etag":null,"topics":["bootstrap","chartsjs","collaborate","css","django","github","html","inventory-management","javascript","neumorphism","python","role-permissions","sqlite3","student-vscode"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/mittal-parth.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2021-05-17T06:07:05.000Z","updated_at":"2025-01-14T13:32:58.000Z","dependencies_parsed_at":"2024-10-27T20:28:16.135Z","dependency_job_id":"18bf37dd-12e7-4a24-ae33-52641c96b6aa","html_url":"https://github.com/mittal-parth/Cluboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittal-parth%2FCluboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittal-parth%2FCluboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittal-parth%2FCluboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittal-parth%2FCluboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mittal-parth","download_url":"https://codeload.github.com/mittal-parth/Cluboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244398458,"owners_count":20446431,"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","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":["bootstrap","chartsjs","collaborate","css","django","github","html","inventory-management","javascript","neumorphism","python","role-permissions","sqlite3","student-vscode"],"created_at":"2024-10-10T10:51:14.042Z","updated_at":"2025-03-19T09:30:50.383Z","avatar_url":"https://github.com/mittal-parth.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cluboard (formerly InvManage)\nA Full-Stack Web Application to facilitate sharing resources in college clubs. Clubs have resources that any of their members can borrow upon request. Members can borrow resources when approved by the convener of the club.\n\nThree roles exist, namely, Admin, Convenor and Member.\n- Admin - Can give roles and add new clubs \u0026 members\n- Members - Can request for resources following a request-approval flow\n- Convener - Can approve/reject member requests, update the club inventory\n\t\nThe roles and their respective permissions can, however, be extended. Each user can be a part of multiple clubs and exercise different roles in each of them. All this is made possible by a custom role-permission framework.\n \nIt also supports email notifications to different stakeholders and useful aggregations from available data, as statistics, on the user's dashboard.\n\n\u003ch2\u003e Table of Contents \u003c/h2\u003e\n\n1. [Demos](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#demos)\n2. [Tech Stack](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#tech-stack)\n3. [Contributing](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#-contributing-)\n4. [Installation Guide](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#installation-guide)\n5. [Sample Git Workflow](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#-sample-git-workflow-)\n6. [Implemented Features](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#implemented-features)\n7. [References](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#references)\n\u003cbr\u003e\n\n\u003ch2\u003eDemos\u003c/h2\u003e\n\n\u003ch3\u003eMember and Convenor Demo\u003c/h3\u003e\n\nhttps://user-images.githubusercontent.com/76661350/170917181-f410ddcc-c658-45ff-9e49-1363ffe91c70.mp4\n\n\u003cbr\u003e\n\n\u003ch3\u003eAdmin Demo\u003c/h3\u003e\n\nhttps://user-images.githubusercontent.com/76661350/170917170-75b93a30-f63a-4141-b08e-fcf6b494deaf.mp4\n\n\u003cbr\u003e\n\n\u003ch2\u003eTech Stack\u003c/h2\u003e\n\u003ccode\u003e\u003cimg height=\"40\" width=\"40\" src=\"https://img.icons8.com/color/48/000000/python--v1.png\" alt=\"Python\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"40\" width=\"40\" src=\"https://user-images.githubusercontent.com/76661350/143919769-d61dd74a-ef98-49db-b1d0-781cb2df501c.png\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"45\" width=\"40\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/html/html.png\" alt=\"HTML\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"36\" width=\"40\" src=\"https://cdn.iconscout.com/icon/free/png-256/css-131-722685.png\" alt=\"CSS\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"36\" width=\"40\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png\" alt=\"Javascript\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"36\" width=\"40\" src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Bootstrap_logo.svg/1280px-Bootstrap_logo.svg.png\" alt=\"Bootstrap\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"36\" width=\"40\" src=\"https://camo.githubusercontent.com/9be0208aa516b4d1976412d27e9f73d851ea253f8ee005a0b600939f841bba8b/68747470733a2f2f7777772e63686172746a732e6f72672f6d656469612f6c6f676f2d7469746c652e737667\" alt=\"Chart.js\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"36\" width=\"40\" src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/SQLite370.svg/1280px-SQLite370.svg.png\" alt=\"SQLite3\"\u003e\u003c/code\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003ch2\u003e Contributing \u003c/h2\u003e\n\n\u003ch3\u003e Code Of Conduct \u003c/h3\u003e\n\nPlease read and abide by our [Code of Conduct](https://github.com/mittal-parth/Inventory-Management-Django/blob/main/CODE_OF_CONDUCT.md); \nour community aspires to be a respectful place both during online and in-person interactions.\n\n\u003ch2\u003eInstallation Guide\u003c/h2\u003e\n\n\u003ch3\u003e Using Git and Github \u003c/h3\u003e\n\n- [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the repo\n- [Clone](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#cloning-a-fork) the forked repository\n- Enter the new `Inventory_Management` directory with `cd Inventory_Management`\n- Set the upstream remote to the original repository url so that git knows where to fetch updates from in future: `git remote add upstream https://github.com/mittal-parth/Inventory-Management-Django.git`\n\n\u003ch3\u003eVirtual Environment\u003c/h3\u003e\n\n- `pip install virtualenvwrapper-win`\n- `mkvirtualenv test` \u0026nbsp; _test = name of virtual env_\n\n\u003ch3\u003eInstall required packages:\u003c/h3\u003e\n\n- `pip install -r requirements.txt`\u003cbr\u003e\n- _After ensuring that we are in a virtual environment (If not, use `workon test`)_\n\n\u003ch3\u003eTo run project:\u003c/h3\u003e\n\n- `python manage.py makemigrations`\n- `python manage.py migrate`\n- `python manage.py runserver`\n- Visit development server at http://127.0.0.1:8000\n\n\u003ch3\u003eCreate Super user:\u003c/h3\u003e\n\n- `python manage.py createsuperuser`\n- Enter desired credentials\n\n\u003ch3\u003eTo see emailing features\u003c/h3\u003e\n\n- Visit https://www.wpoven.com/tools/free-smtp-server-for-testing\n- Enter the desired email to see the inbox\u003c/p\u003e\n\n\u003ch3\u003e Sample Git Workflow \u003c/h3\u003e\n\n- Follow the [installation guide](https://github.com/mittal-parth/Inventory-Management-Django/edit/contributing/readme.md#installation-guide) to install the software\n- Create a new feature branch with `git checkout -b \u003cname-of-your-feature-branch\u003e`\n- Make changes and commit them in the feature branch.\n- Once done developing, switch back to the main branch with `git checkout main` ; pull the latest version of the repo with `git pull https://github.com/mittal-parth/Inventory-Management-Django.git main`\n- Switch back to the feature branch with `git checkout \u003cname-of-your-feature-branch\u003e`. Apply the new changes on top of the latest version of the repo with `git rebase main`\n- [Resolve merge conflicts](https://help.github.com/articles/resolving-a-merge-conflict-from-the-command-line/) (if any)\n- Push your feature branch upto your remote repo with `git push origin \u003cname-of-your-feature-branch\u003e`\n- [Submit a Pull Request](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#making-a-pull-request) to the main branch.\n- After any questions or changes have been resolved, your contribution would be merged in!\n\n\u003ch3\u003eAdmin Site:\u003c/h3\u003e\n\nhttp://127.0.0.1:8000/admin\n\n\u003cbr\u003e\n\n\u003ch3\u003eImplemented Features\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eMember\n        \u003cul\u003e\n            \u003cli\u003eView club items\u003c/li\u003e\n            \u003cli\u003eRequest for items\u003c/li\u003e\n            \u003cli\u003eView request status\u003c/li\u003e\n            \u003cli\u003eView statistics about their requests \u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003eConvenor\n        \u003cul\u003e\n            \u003cli\u003eView all members of club\u003c/li\u003e\n            \u003cli\u003eView club items\u003c/li\u003e\n            \u003cli\u003eAdd, Update items\u003c/li\u003e\n            \u003cli\u003eView member requests\u003c/li\u003e\n            \u003cli\u003eApprove/Reject requests\u003c/li\u003e\n            \u003cli\u003eValidation of quantity of requested item\u003c/li\u003e\n            \u003cli\u003eView statistics pertaining to the club\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003eAdmin\n        \u003cul\u003e\n            \u003cli\u003eView all clubs, users, items and requests\u003c/li\u003e\n            \u003cli\u003eAdd new club(s)\u003c/li\u003e\n            \u003cli\u003eAdd, Update items\u003c/li\u003e\n            \u003cli\u003eAdd new user or existing users to clubs\u003c/li\u003e\n            \u003cli\u003eDelete users\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003eAuthentication and page restrictions\u003c/li\u003e\n    \u003cli\u003eReset, Change Password\u003c/li\u003e\n    \u003cli\u003eEmail respective users about request flow\u003c/li\u003e\n\u003c/ul\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ch3\u003eReferences:\u003c/h3\u003e\n\u003ca href=\"https://docs.djangoproject.com/en/3.2/\"\u003eDjango's Official Documentation\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://www.chartjs.org/\"\u003eChart.js Official Documentation\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://www.youtube.com/watch?v=tUqUdu0Sjyc\u0026list=PL-51WBLyFTg2vW-_6XBoUpE7vpmoR3ztO\u0026index=15\"\u003eDennis Ivy\n    Youtube\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://www.youtube.com/watch?v=yyBF-2SXXOc\u0026t=690s\"\u003eSuper Coders Youtube\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://stackoverflow.com/\"\u003eStack Overflow\u003c/a\u003e\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmittal-parth%2Fcluboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmittal-parth%2Fcluboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmittal-parth%2Fcluboard/lists"}