A comprehensive social networking platform designed specifically for East Delta University students to connect, share, and collaborate within their academic community.
π Documentation Hub
- ποΈ Database Schema - Complete database documentation, table structures, and relationships
- π API Reference - Comprehensive REST API endpoints and authentication guide
- π± Main Documentation - You are here! Project overview and setup guide
- Overview
- Features
- Technical Architecture
- Installation & Setup
- Development Guide
- Project Structure
- Contributing
- Documentation
Academia Connect is a modern, feature-rich social networking platform built specifically for East Delta University. It combines social media functionality with academic tools to create a comprehensive ecosystem for students and faculty to interact, share knowledge, and manage their academic life.
- π Academic-First Design: Built specifically for university environments
- π Secure Authentication: EDU email validation and secure session management
- π± Cross-Platform: Native iOS, Android, and Web support via Expo
- β‘ Real-Time Features: Live messaging, notifications, and updates
- π¨ Modern UI/UX: Clean, accessible design with dark/light theme support
- π Privacy-Focused: Comprehensive RLS policies and data protection
- EDU Email Validation: Restricted to
@eastdelta.edu.bdemails - API Details - Secure Session Management: JWT-based authentication with Supabase - Auth Flow
- Profile Creation: Comprehensive academic profile setup - Database Schema
- Avatar Management: Image upload and management system - Upload API
- Session Persistence: Automatic login state management
- Google OAuth: Alternative sign-in method (configured)
- Dynamic Feed: Personalized content feed with friend posts and announcements - Feed API
- Post Creation: Rich text posts with image attachments - Create Post API
- Engagement System: Like and comment functionality - Likes & Comments
- Real-Time Updates: Live feed updates using Supabase subscriptions
- Content Moderation: Announcement system for official communications
- Media Sharing: Image upload and display with optimized storage - Posts Schema
- Friend Requests: Send, receive, accept, and reject friend requests - Friend Requests API
- Bidirectional Relationships: Automatic mutual friendship creation - Friendships Schema
- Friend Management: View and manage friend connections - Friendships API
- Real-Time Notifications: Instant friend request notifications
- Privacy Controls: Friend-only content visibility - RLS Policies
- Academic Profiles: Department, semester, section information
- Role-Based System: Student and faculty role distinction
- Profile Editing: Comprehensive profile update functionality
- Avatar System: Profile picture upload and management
- Academic Information: Student ID, department affiliation, current semester
- User Search: Search by name or email with real-time results
- Advanced Filters: Department and semester-based filtering
- Friend Status: Visual indicators for friend relationships
- Quick Actions: Direct friend request sending from search results
- Real-Time Messaging: Instant message delivery - Messages API
- Direct Messages: One-on-one conversations - Conversations API
- Group Chats: Multi-user conversation support - Conversation Schema
- Media Sharing: Image, document, and file sharing
- Read Receipts: Message read status tracking
- Typing Indicators: Real-time typing status
- Message Threading: Reply-to-message functionality - Messages Schema
- Course Enrollment: Join and manage course schedules
- Schedule Display: Visual timetable representation
- Time Conflict Detection: Automatic scheduling conflict resolution
- Faculty Schedule Management: Instructor schedule creation and management
- Academic Calendar: Important dates and events
- Real-Time Notifications: Instant push notifications
- Notification Types: Friend requests, post interactions, announcements
- Notification Management: Mark as read, bulk actions
- Customizable Settings: Notification preferences
React Native 0.79.0
βββ Expo SDK ~53.0.11 # Development platform and build tools
βββ TypeScript ~5.3.0 # Type safety and developer experience
βββ Expo Router ~5.1.0 # File-based navigation system
βββ React Navigation 7.0.0 # Navigation library
βββ Formik 2.4.6 # Form handling and validation
βββ Yup 1.3.3 # Schema validation
βββ Lucide React Native # Icon system
βββ React Native Reanimated # Animations and gestures
βββ Expo Vector Icons # Additional icon sets
Supabase (Backend-as-a-Service)
βββ PostgreSQL Database # Primary data storage
βββ Row Level Security (RLS) # Data access policies
βββ Real-time Subscriptions # Live data updates
βββ Authentication # User management and JWT
βββ Storage # File and media storage
βββ Edge Functions # Serverless functions
βββ Database Functions # Custom PostgreSQL functions
Development Environment
βββ Expo CLI # Development server and build tools
βββ Metro Bundler # JavaScript bundler
βββ Babel # JavaScript transpiler
βββ ESLint # Code linting
βββ Prettier # Code formatting
βββ TypeScript Compiler # Type checking
Ensure you have the following installed:
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI (
npm install -g @expo/cli) - Git
- iOS Simulator (macOS) or Android Studio (for Android development)
-
Clone the Repository
git clone https://github.com/aroyy007/AcademiaConnectApp.git cd academiaconnectapp -
Install Dependencies
npm install # or yarn install -
Environment Configuration
Create a
.envfile in the root directory:# Supabase Configuration EXPO_PUBLIC_SUPABASE_URL=your_supabase_project_url EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key # Optional: Google OAuth (if using) EXPO_PUBLIC_GOOGLE_CLIENT_ID=your_google_client_id
-
Supabase Setup
- Create a new Supabase project at supabase.com
- Run the SQL scripts in the
supabase/directory in order:# Execute these in your Supabase SQL editor 1. create_core_tables_and_policies.sql 2. create_messaging_tables_and_rls.sql 3. create_storage_buckets_and_policies.sql 4. seed_departments_courses_schedules.sql - Configure Storage buckets for
avatars,posts, andmessages - Set up authentication providers if using OAuth
-
Start Development Server
npm start # or expo start -
Run on Device/Simulator
- iOS: Press
iin the terminal or scan QR code with Camera app - Android: Press
ain the terminal or scan QR code with Expo Go app - Web: Press
win the terminal
- iOS: Press
academia-connect/
βββ app/ # Expo Router pages
β βββ (tabs)/ # Tab-based navigation
β β βββ feed.tsx # Main feed screen
β β βββ profile.tsx # User profile screen
β β βββ schedule.tsx # Schedule management
β β βββ notifications.tsx # Notifications screen
β β βββ create.tsx # Post creation screen
β βββ index.tsx # Welcome/landing screen
β βββ login.tsx # Authentication screen
β βββ signup.tsx # Registration screen
β βββ _layout.tsx # Root layout configuration
βββ components/ # Reusable UI components
β βββ auth/ # Authentication components
β βββ messaging/ # Chat and messaging components
β βββ profile/ # Profile-related components
β βββ ui/ # Generic UI components
βββ constants/ # Design system constants
β βββ colors.ts # Color palette
β βββ typography.ts # Font and text styles
β βββ spacing.ts # Spacing and border radius
βββ hooks/ # Custom React hooks
β βββ useAuth.ts # Authentication logic
β βββ usePosts.ts # Post management
β βββ useFriends.ts # Friend system logic
β βββ useMessages.ts # Messaging functionality
β βββ useSchedule.ts # Schedule management
βββ lib/ # External service integrations
β βββ supabase.ts # Supabase client and helpers
βββ types/ # TypeScript type definitions
β βββ database.ts # Database schema types
β βββ env.d.ts # Environment variable types
βββ utils/ # Utility functions
β βββ imageUtils.ts # Image processing helpers
β βββ validation.ts # Form validation schemas
βββ supabase/ # Database schema and migrations
β βββ create_core_tables_and_policies.sql
β βββ create_messaging_tables_and_rls.sql
β βββ seed_departments_courses_schedules.sql
βββ assets/ # Static assets
β βββ images/ # App images and icons
βββ package.json # Dependencies and scripts
βββ app.json # Expo configuration
βββ tsconfig.json # TypeScript configuration
βββ README.md # Project documentation
We welcome contributions from the community! Here's how you can help:
-
Fork the Repository
git clone https://github.com/aroyy007/AcademiaConnectApp.git cd academia-connect -
Create a Feature Branch
git checkout -b feature/amazing-feature
-
Make Your Changes
- Follow the code style guidelines
- Add tests for new functionality
- Update documentation as needed
-
Commit Your Changes
git commit -m "Add amazing feature" -
Push to Your Branch
git push origin feature/amazing-feature
For detailed technical information, please refer to our comprehensive documentation:
ποΈ Database Documentation
Complete database schema documentation including:
- Table structures and relationships
- Row Level Security (RLS) policies
- Database setup and migration scripts
- Seeding instructions and sample data
π API Documentation
Comprehensive REST API reference covering:
- Authentication and authorization
- All endpoint specifications with examples
- Request/response formats
- Error handling and status codes
- Rate limiting and security considerations
Related Documentation:
- Database Schema - Detailed table structures for profiles, posts, and friendships
- Authentication API - Complete authentication flow and security implementation
- Social Features API - Posts, likes, comments, and friend system endpoints
- Messaging System - Real-time chat database design and API endpoints
- Academic Features - University-specific tables and course management API
Development Resources:
- Database Setup Guide - Step-by-step database configuration
- API Authentication - JWT token management and security
- Error Handling - Comprehensive error codes and troubleshooting
If you encounter any issues or have questions:
- GitHub Issues: Create an issue
- Documentation: Check this README and inline code comments
- Community: Join our Discord server for discussions
- Email: contact@academiaconnect.edu (for urgent matters)
Quick Links:
- ποΈ Database Schema - Complete database documentation
- π API Reference - REST API endpoints and examples
- π± Main Documentation - Project overview and setup (current page)
Key Sections:
- Installation & Setup - Get started with development
- Technical Architecture - System design overview
- Features - Complete feature documentation
- Contributing - How to contribute to the project
Arijit Roy, Ittekhar Mahin Abir, Raheta Sadeka
CSE 464 - App Development Course
East Delta University
Β© 2025 Academia Connect. All rights reserved.





