Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mittal-parth/cluboard
A full-stack web application to facilitate sharing resources in college clubs with email notifications, requests and ticketing system, and analytical dashboards.
https://github.com/mittal-parth/cluboard
bootstrap chartsjs collaborate css django github html inventory-management javascript neumorphism python role-permissions sqlite3 student-vscode
Last synced: 20 days ago
JSON representation
A full-stack web application to facilitate sharing resources in college clubs with email notifications, requests and ticketing system, and analytical dashboards.
- Host: GitHub
- URL: https://github.com/mittal-parth/cluboard
- Owner: mittal-parth
- Created: 2021-05-17T06:07:05.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-03T06:32:41.000Z (5 months ago)
- Last Synced: 2024-10-11T10:51:02.612Z (about 1 month ago)
- Topics: bootstrap, chartsjs, collaborate, css, django, github, html, inventory-management, javascript, neumorphism, python, role-permissions, sqlite3, student-vscode
- Language: HTML
- Homepage:
- Size: 49.1 MB
- Stars: 13
- Watchers: 2
- Forks: 6
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Cluboard (formerly InvManage)
A 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.Three roles exist, namely, Admin, Convenor and Member.
- Admin - Can give roles and add new clubs & members
- Members - Can request for resources following a request-approval flow
- Convener - Can approve/reject member requests, update the club inventory
The 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.
It also supports email notifications to different stakeholders and useful aggregations from available data, as statistics, on the user's dashboard.Table of Contents
1. [Demos](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#demos)
2. [Tech Stack](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#tech-stack)
3. [Contributing](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#-contributing-)
4. [Installation Guide](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#installation-guide)
5. [Sample Git Workflow](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#-sample-git-workflow-)
6. [Implemented Features](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#implemented-features)
7. [References](https://github.com/mittal-parth/Cluboard/blob/main/readme.md#references)Demos
Member and Convenor Demo
https://user-images.githubusercontent.com/76661350/170917181-f410ddcc-c658-45ff-9e49-1363ffe91c70.mp4
Admin Demo
https://user-images.githubusercontent.com/76661350/170917170-75b93a30-f63a-4141-b08e-fcf6b494deaf.mp4
Tech Stack
Contributing
Code Of Conduct
Please read and abide by our [Code of Conduct](https://github.com/mittal-parth/Inventory-Management-Django/blob/main/CODE_OF_CONDUCT.md);
our community aspires to be a respectful place both during online and in-person interactions.Installation Guide
Using Git and Github
- [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the repo
- [Clone](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#cloning-a-fork) the forked repository
- Enter the new `Inventory_Management` directory with `cd Inventory_Management`
- 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`Virtual Environment
- `pip install virtualenvwrapper-win`
- `mkvirtualenv test` _test = name of virtual env_Install required packages:
- `pip install -r requirements.txt`
- _After ensuring that we are in a virtual environment (If not, use `workon test`)_To run project:
- `python manage.py makemigrations`
- `python manage.py migrate`
- `python manage.py runserver`
- Visit development server at http://127.0.0.1:8000Create Super user:
- `python manage.py createsuperuser`
- Enter desired credentialsTo see emailing features
- Visit https://www.wpoven.com/tools/free-smtp-server-for-testing
- Enter the desired email to see the inboxSample Git Workflow
- Follow the [installation guide](https://github.com/mittal-parth/Inventory-Management-Django/edit/contributing/readme.md#installation-guide) to install the software
- Create a new feature branch with `git checkout -b `
- Make changes and commit them in the feature branch.
- 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`
- Switch back to the feature branch with `git checkout `. Apply the new changes on top of the latest version of the repo with `git rebase main`
- [Resolve merge conflicts](https://help.github.com/articles/resolving-a-merge-conflict-from-the-command-line/) (if any)
- Push your feature branch upto your remote repo with `git push origin `
- [Submit a Pull Request](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#making-a-pull-request) to the main branch.
- After any questions or changes have been resolved, your contribution would be merged in!Admin Site:
http://127.0.0.1:8000/admin
Implemented Features
- Member
- View club items
- Request for items
- View request status
- View statistics about their requests
- Convenor
- View all members of club
- View club items
- Add, Update items
- View member requests
- Approve/Reject requests
- Validation of quantity of requested item
- View statistics pertaining to the club
- Admin
- View all clubs, users, items and requests
- Add new club(s)
- Add, Update items
- Add new user or existing users to clubs
- Delete users
- Authentication and page restrictions
- Reset, Change Password
- Email respective users about request flow
References:
Django's Official Documentation
Chart.js Official Documentation
Dennis Ivy
Youtube
Super Coders Youtube
Stack Overflow