Skip to content

nicovece/happenly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

100 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Happenly

Discover, Track & Visualize Events That Matter

A progressive web app that lets you explore upcoming tech events across European cities, filter by location, and visualize event data through interactive charts.

Live Demo


Tech Stack

Frontend: React 19, TypeScript, Vite, Recharts, SCSS Backend: Node.js, AWS Lambda, Serverless Framework APIs: Google Calendar API (service account auth) Testing: Jest, React Testing Library, Puppeteer (E2E) Deployment: Vercel (frontend), AWS API Gateway + Lambda (backend) PWA: Workbox service worker for offline support

Architecture

The app fetches live event data from a Google Calendar through a serverless backend:

Browser  -->  Vercel (static)  -->  AWS API Gateway  -->  Lambda  -->  Google Calendar API
                                                            |
                                                    Service Account Auth
                                                    (no user login required)

Features

  • City filtering — Search and filter events by city with autocomplete suggestions
  • Adjustable event count — Control how many events are displayed
  • Expandable details — Show/hide event descriptions inline
  • Data visualization — Scatter chart (events by city) and pie chart (events by topic)
  • Offline support — PWA with service worker caching for offline access
  • Installable — Add to home screen on mobile devices

Getting Started

git clone https://github.com/nicovece/happenly.git
cd happenly
npm install
npm run dev

The app runs on http://localhost:5173 and uses mock data in development.

Backend (auth-server)

The serverless backend is in auth-server/. To deploy:

cd auth-server
npm install
npx serverless deploy

Requires AWS credentials and a config.json with Google API credentials (see serverless.yml for required env vars).

Testing

npm test              # Run all unit/integration tests
npm run test:e2e      # Run end-to-end tests (requires Puppeteer)

About

Happenly is a responsive React progressive web app for discovering and visualizing events. Users can filter events by city, customize how many are shown, and view interactive charts. With Google Calendar integration, offline support, and PWA installability, Happenly offers a seamless, accessible event-tracking experience on any device.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors