Repo for TechRush Hackathon 🏆
CampusPay is a smart student payment & social platform built with Expo and React Native.
It makes transactions, event management, and social interactions seamless for college campuses.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Login & signup with JWT-based auth.
- Profile picture upload (backend
multerintegration supported). - Token persisted locally for session management.
- Send and receive money between users.
- Transaction list with clear credit/debit distinction.
- Smooth scrolling and basic animations for better UX.
- Store transaction history and basic filtering (by date/type).
- Browse upcoming campus events.
- Purchase tickets inside the app (mock flow or integrated backend).
- Event cards support horizontal scrolling and tappable details.
- Community feed: share text + image posts.
- Join/see clubs, view club posts and event announcements.
- Like and comment UI hooks (backend endpoints can be wired up).
- View and edit basic profile details.
- Wallet overview with balance and quick actions.
- Transaction analytics / activity log (simple list view).
-
Install:
npm install
-
Start:
npx expo start
Open the app via:
- Expo Go (quick test)
- Development build
- Android Emulator / iOS Simulator
-
Reset project (optional):
npm run reset-project
Moves starter code to
app-exampleand creates a freshapp/.
/app
/(auth) # login, signup screens
/(main) # dashboard, home, tabs
/transactions # transaction list + card components
/events # event listing + event detail
/social # community feed, post composer
/profile # profile + settings
/api
auth.js # auth routes
users.js
posts.js
events.js
transactions.js
- Use Node.js + Express for APIs.
- Store users, events, posts, and transactions in MongoDB.
- Protect routes with JWT middleware.
- For image uploads use
multerand store either in cloud (S3) or as accessible file URLs.
- React Native (Expo Router)
- Node.js + Express (backend)
- MongoDB (database)
- JWT (authentication)
- Axios (API requests)
- Add input validation on forms and show inline errors.
- Use optimistic UI updates for transactions and posts.
- Add better offline handling for the wallet (cache last-known balance).
- Add unit tests for critical API endpoints (auth, transactions, events).








