The Single Window Clearance Portal is designed to streamline the request process between college clubs and the student gymkhana. This portal allows clubs to generate various types of requests—monetary or non-monetary—and send them to the relevant authorities for approval through an organized chain of command. Both the Club Faculty Advisor (FA) and the Society FA have the ability to accept the requests. Additionally, all the information related to the requests will be stored and made accessible to the Dean for oversight.
-
Request Generation: Clubs can submit requests through a user-friendly interface. Requests can be monetary (e.g., budget approvals, financial reimbursements) or non-monetary (e.g., event permissions, resource allocation).
-
Chain of Command: Requests are routed to the appropriate authority based on the type and content of the request:
- Club FA: First level of approval.
- Society FA: Second level of approval, after Club FA.
- Dean: Has the authority to view all requests and their status for supervision purposes.
-
Request Tracking: Each request is tracked in real-time. Clubs can view the status of their requests (Pending, Approved, Rejected, etc.) at any time.
-
Audit Logs: All actions taken on the requests are logged and stored for future reference. The Dean can access these logs for auditing purposes.
-
User Roles:
- Club User: Can generate requests and view request statuses.
- Club FA: Can view and approve/reject requests from their club.
- Society FA: Can view and approve/reject requests routed from the Club FA.
- Dean: Can view all requests and monitor the overall workflow.
-
Frontend:
- HTML5, CSS3, JavaScript
- Bootstrap for styling and responsiveness
-
Backend:
- Flask for handling requests and routing.
-
Database:
- MySQL for storing requests, user data, and approval history.
-
Authentication:
- OAuth authentication for secure login and access control.
-
API Integration:
- REST APIs for fetching and updating request status.
-
Users Table: Stores details of club members, FAs, and Dean.
user_id
: Primary key.name
,email
,role
(club member, FA, society FA, dean).
-
Requests Table: Stores the requests generated by clubs.
request_id
: Primary key.club_id
: Foreign key (related to the club).request_type
: Monetary/Non-monetary.description
: Details of the request.status
: Pending/Approved/Rejected.created_at
: Timestamp for request creation.
-
Approvals Table: Tracks the approval process for each request.
approval_id
: Primary key.request_id
: Foreign key (related to request).approver_id
: Foreign key (related to the approver, i.e., FA/Society FA).approval_status
: Approved/Rejected.updated_at
: Timestamp for when the approval decision was made.
- Log in to the portal using your credentials.
- Navigate to the Create Request section.
- Fill out the request form with all necessary details (type, description, attachments if necessary).
- Submit the request for approval.
- Log in and navigate to the Requests section.
- View pending requests from clubs under your supervision.
- Approve or reject the request and provide comments if necessary.
- Log in and navigate to the Requests section.
- View requests forwarded by the Club FA.
- Approve or reject the requests accordingly.
- Log in and navigate to the Audit Logs or Requests Overview section.
- Monitor all requests and approvals in the system.
- View approval trends and club activity over time.
-
Clone the repository:
git clone https://github.com/your-repo/single-window-clearance-portal.git
-
Install dependencies (for Node.js/Express setup):
cd single-window-clearance-portal npm install
-
Configure the database:
- Set up a MySQL/PostgreSQL database.
- Update the connection details in the configuration file.
-
Run the application:
npm start
-
Access the portal at
http://localhost:3000
(or your configured port).
- Email Notifications: Automatically send email alerts to FAs and club members when requests are approved or rejected.
- Analytics Dashboard: Provide insights on the types and frequency of requests, processing times, etc., to help optimize workflows.
- Mobile Application: Build a mobile app for easier access to the portal.
We welcome contributions to this project. Please fork the repository, create a new branch for your feature or bugfix, and submit a pull request!
This project is licensed under the MIT License - see the LICENSE file for details.