Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CG_LOGO

CommonGround

Find common ground. Plan effortless group outings based on real member preferences.

Stack Database License


📌 Project Overview

CommonGround is a full-stack social event planning platform designed to eliminate friction when organizing group activities. By comparing group members' budgets, travel preferences, and activity interests, CommonGround helps groups discover shared interests and vote on proposed event itineraries effortlessly.


✨ Key Features

  • User Authentication: Simple authentication and profile state management.
  • Dynamic Profile Management: Dedicated dashboard displaying user details, city, preferences, and active group memberships.
  • Group Creation & Management: Users can establish public or private groups and automatically acquire admin capabilities.
  • Relational Data Architecture: Full SQL schema supporting groups, memberships, invitations, place categories, user preferences, events, proposals, and voting.

🛠️ Tech Stack

Frontend

  • Framework: React (Vite)
  • Styling: Tailwind CSS
  • Icons: React Icons (react-icons)
  • HTTP Client: Axios
  • Routing: React Router DOM

Backend

  • Runtime: Node.js
  • Framework: Express.js
  • Database: PostgreSQL
  • Database Client: node-postgres (pg)

🗄️ Database Architecture

The application relies on a structured PostgreSQL schema consisting of:

  • users: Stores member credentials and profile details.
  • place_types: Categorizes location types (Restaurants, Museums, Parks).
  • user_preferences: Maps user budget and transit preferences per place type.
  • groups & group_members: Manages group privacy, roles (ADMIN, MEMBER), and participation.
  • events, proposals & proposal_votes: Handles group event suggestions and voting status (YES, NO, MAYBE).

🚀 Quick Start & Installation

Prerequisites

  • Node.js (v18+)
  • PostgreSQL installed and running locally or via Docker

1. Database Setup

docker compose up -d
  • open localhost:5050
  • enter user and password
  • create database and open query tool, copy & paste seed data

2. Backend Setup

  • at commonGround
npm install
npm run dev

3. Frontend Setup

  • at commonGround/cg-front
npm install
npm run dev
  • http://localhost:1573

🔗 Key API Integration Points

POST /api/v1/users/login — Authenticates user credentials.

GET /api/v1/users/:id/profile — Loads user metadata and category preferences.

GET /api/v1/users/:id/groups — Retrieves groups joined/created by the active user.

POST /api/v1/groups — Submits new group creation payloads.

👥 Team & Contributors

Annia K | Linkedin | Github

Ivo J | Linkedin | Github

Mio O | Linkedin | Github

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages