Skip to content

mmk119/CivicConnect

Repository files navigation

CivicConnect

CivicConnect is a web platform where approved NGOs post volunteering opportunities and volunteers apply, track applications, receive feedback, and download certificates after confirmed attendance.

Requirements

  • Node.js 18+
  • MySQL 8+
  • A configured backend/.env

Setup

npm install
cd backend
node seed-feedback-test-data.js
cd ..
npm run dev

Open:

http://localhost:3000

Environment

Create backend/.env from your local values:

PORT=3000
NODE_ENV=development
FRONTEND_URL=http://localhost:3000
BACKEND_URL=http://localhost:3000
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=civicconnect
JWT_SECRET=replace_me
JWT_EXPIRES_IN=1h
EMAIL_USER=your_email
CLIENT_ID=your_google_client_id
CLIENT_SECRET=your_google_client_secret
REFRESH_TOKEN=your_refresh_token
REDIRECT_URI=https://developers.google.com/oauthplayground

Never commit real secrets.

Migrations

Run the migrations in order:

cd backend
mysql -u root -p civicconnect < migrations\001_admin_features.sql
mysql -u root -p civicconnect < migrations\002_saved_opportunities.sql
mysql -u root -p civicconnect < migrations\003_feedback_moderation.sql
mysql -u root -p civicconnect < migrations\004_opportunity_schedule.sql
mysql -u root -p civicconnect < migrations\005_matching_questions_moderation_certificates.sql

Test Accounts

Seed data creates:

admin.test@civicconnect.local
ngo.cedar.test@civicconnect.local
ngo.green.test@civicconnect.local
volunteer.maya.test@civicconnect.local
volunteer.karim.test@civicconnect.local
volunteer.rana.test@civicconnect.local

Password for all:

Test12345!

Scripts

npm start
npm run dev
npm run lint
npm test

Integration tests that mutate/read local seeded data are gated:

$env:RUN_INTEGRATION_TESTS='true'
npm test

Core Features

  • NGO approval by admin
  • Opportunity creation, editing, deletion
  • Weekday/time scheduling with calculated volunteer hours
  • Opportunity-specific applicant review
  • Application accept/reject
  • Attendance confirmation before or after opportunity date
  • Volunteer and NGO feedback
  • Admin feedback moderation with review status and reports
  • Volunteer availability/preferences and opportunity match badges
  • Opportunity application questions and applicant answer review
  • Printable volunteer certificates with verification IDs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors