GithubHelp home page GithubHelp logo

mittal-parth / cluboard Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 6.0 50.25 MB

A full-stack web application to facilitate sharing resources in college clubs with email notifications, requests and ticketing system, and analytical dashboards.

Python 46.98% HTML 52.97% Procfile 0.05%
django html css python inventory-management javascript chartsjs role-permissions bootstrap sqlite3 neumorphism collaborate github student-vscode

cluboard's Introduction

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
  2. Tech Stack
  3. Contributing
  4. Installation Guide
  5. Sample Git Workflow
  6. Implemented Features
  7. References

Demos

Member and Convenor Demo

Member.Convenor.Demo.mp4

Admin Demo

Admin.Demo.mp4

Tech Stack

Python HTML CSS Javascript Bootstrap Chart.js SQLite3

Contributing

Code Of Conduct

Please read and abide by our Code of Conduct; our community aspires to be a respectful place both during online and in-person interactions.

Installation Guide

Using Git and Github

  • Fork the repo
  • Clone 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:8000

Create Super user:

  • python manage.py createsuperuser
  • Enter desired credentials

To see emailing features

Sample Git Workflow

  • Follow the installation guide to install the software
  • Create a new feature branch with git checkout -b <name-of-your-feature-branch>
  • 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 <name-of-your-feature-branch>. Apply the new changes on top of the latest version of the repo with git rebase main
  • Resolve merge conflicts (if any)
  • Push your feature branch upto your remote repo with git push origin <name-of-your-feature-branch>
  • Submit 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

cluboard's People

Contributors

mittal-parth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cluboard's Issues

Add templates for issues

Issue templates are very helpful for a collaboration repo. When users identify a bug or want to add a new feature, you can provide templates so you can collect all the pertinent information you need to fix a bug or add a new feature.

We recommend creating a “Report Bug” and “Feature Request” issue template.

Some suggested prompts/questions you can add to a “Report Bug” template are:

  • Briefly describe the bug
  • What is the expected behavior?
  • Please provide step by step instructions on how to reproduce the bug

Some suggested prompts/questions you can add to a “Feature Request” issue template are:

  • Briefly describe your feature request
  • What problem is this feature trying to solve?
  • How do we know when the feature is complete?

Community Exchange Introduction/Tracking

👋 Hi @mittal-parth ,

I am your GitHub mentor for the GitHub Education, Community Exchange (CX) project. I'll be collaborating with you on preparing your repo for CX.

You mentioned in your submission that you wanted to submit a Collaborate repo. This means that you want to invite other students to collaborate and add features to this repo. I will generate issues, which will provide guidance on how to prepare your repo for a Collaborate CX submission on June 1, 2022.

This issue will serve as a tracking issue to track all issues related to CX. I recommend creating a new branch for every issue and opening a pull request to track changes so we can effectively collaborate with each other and merge changes when you and I feel like those changes are ready to be merged on your primary branch.

If you have any questions or concerns, please feel free to leave a comment on this issue or any of the other issues that are generated.

I look forward to working with you :octocat:

Issues

Add Code of Conduct

We recommend that every repo has a code of conduct. If you don’t feel comfortable creating your own Code of Conduct from scratch we highly recommend using one of the templates provided by GitHub. If you do use a template, please read through the template and ensure that you can and will abide by the Code of Conduct.

Please follow these instructions on how to add a Code of Conduct.

Update README.md

A README is often the first item a visitor will see when visiting your repository. We recommend that your README has:

no info about setup of SECRET_KEY

when a request is made to server

django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

runtime info

python 3.10.6
virtualenv 20.16.5

error is recived
how to fix it ??

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.