AI-Integrated Community Outreach Management System with Sentiment Analysis and Automated E-Certificate for TIP Manila – CESO Department.
Important
This system/application is not meant for public usage, and is tailored for a specific client in academic institutional context.
This "system" only serves as public reference for similar system or application.
This capstone project aims to develop an AI-integrated web-based community outreach management system that simplifies and centralizes administrative tasks to enhance the efficiency and impact of the institution’s community extension services in fostering sustainable community relationships.
- To develop a system feature that facilitates the planning and coordination of community outreach activities, such as managing faculty delegation, event sorting and filtering, uploading of after-activity report, and student participation;
- To implement automated processes for generating, distributing, and validating e-certificates of participants, thereby reducing manual workload and improving operational efficiency;
- To integrate AI models for analyzing and evaluating feedback, such as sentiment analysis, alternative textual analytics and analytics dashboard to effectively collect feedback and support data-driven decision-making through AI-assisted summary and insights.
Overview of current technologies and resources to be used in the system.
- Next.js
- React
- TypeScript
- Mantine
- TailwindCSS
- Supabase (Database, Auth, Storage)
- Trigger.dev (Background Jobs, Cron Jobs)
- Resend (Email)
- finiteautomata/bertweet-base-sentiment-analysis ( Sentiment Analysis)
- microsoft/Phi-3-mini-128k-instruct (Text Generation)
- google/tapas-large-finetuned-wtq (Table QA)
- GitHub Actions (CI)
- Codacy (SAST)
- FOSSA (License Compliance)
- Mend Renovate (Deps. Mgmt.)
- Mend Bolt (Deps. Vulnerability Scanner)
- Vercel
- OneUptime (Uptime Monitoring)
- Baselime.io (Observability)
- Snyk.io (Application Security)
-
Download and setup bun.
-
Setup instances of the ff.
- Supabase
- Configs can be acquired from
supabase/
directory. - Trigger.dev
- Resend
- HuggingFace
-
Install dependencies using
bun install
orbun i
. -
After setting up Supabase tables, generate types locally:
SUPABASE_PROJECT=your-project-id bun gen:t
-
Setup acquired environment variables from services above in
.env
file.[!NOTE] A copy of
.env
file can be found in.env.sample
file. -
Configure Supabase Auth for Google OAuth.
-
Configure
trigger.config.ts
:export const config: TriggerConfig = { project: '', // change to your trigger.dev project api // ... };
-
Run the application
bun dev # or dev:t to use turbo bun dev:em # to run email previews by react-email
This project used Doppler (CLI) for secrets management, therefore most scripts are tailored for such env variables to be available when running them using:
doppler run -- bun gen:t
Or you can do an alias to shorten it:
alias dp='doppler run --'
# now you can run scripts using:
dp bun gen:t
# or
dp bun dev
You can upload your existing .env
file using:
doppler secret upload .env
Important
You wouldn't need an .env
file when using Doppler.
(You can delete it)
It acquires the necessary secrets from doppler's dashboard using the CLI, and can be used across machines without manual transfers.
Note
This project was deployed using Vercel.
Deploying to other providers are not tested, and is up to you.
After deploying the main application,
Don't forget to deploy the Trigger.dev
triggers:
bun deploy:tr
# or
bunx trigger.dev@latest deploy
This work is distributed under Apache License, Version 2.0.
All trademarks, logos, and service marks displayed on this website are the property of their respective owners.
-
Technological Institute of the Philippines (T.I.P)
T.I.P and the T.I.P logos are trademarks or registered trademarks of Technological Institute of the Philippines ( T.I.P) in the Philippines.
-
Google, LLC.
Google and the Google logos are trademarks or registered trademarks of Google LLC in the United States and other countries.