A modern, simple club-organizing app for Berkeley Prep School: students can push updates, create club pages, manage leadership, and more...
- Microsoft Azure Authentication - Secure login with school accounts only
- Profile Creation - Students and sponsors can create detailed profiles
- Role-Based Permissions - Different options for students, leadership, and presidents
- W UI - Next.js, TypeScript, and Tailwind CSS
- Compatible Design - Supports all devices
- Club Management - Create, join, and manage school clubs
- Social Posts - Share updates, events, and announcements
- SOON Event Management - Create and RSVP to school events
- SOON Real-time Updates - Live notifications and messaging
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS, shadcn/ui components
- Authentication: Microsoft Azure AD (MSAL)
- State Management: React Context API
- Deployment: Vercel
git clone <your-repo-url>
cd school-social-app
npm installFor immediate testing without Azure setup:
# Create environment file
cp env-template.txt .env.local
# Edit .env.local and set:
NEXT_PUBLIC_DEMO_MODE=true
# Start development server
npm run devA demo user account will get you past Azure.
- Go to Azure Portal: https://portal.azure.com
- Navigate to: Azure Active Directory > App registrations
- Create New Registration:
- Name:
SchoolConnect - Supported account types:
Accounts in this organizational directory only - Redirect URI (dev): Web >
http://localhost:3000
- Name:
- Get Client ID: Copy the Application (client) ID
- Configure Permissions: API permissions > Microsoft Graph > User.Read
- Create Environment File:
# Create .env.local file
NEXT_PUBLIC_AZURE_CLIENT_ID=your-client-id-herenpm run devOpen http://localhost:3000 in your browser.
- User visits app → Redirected to profile creation (if not logged in)
- Microsoft Login → User authenticates with school Microsoft account
- Domain Validation → Only @berkeleyprep.org emails are accepted
- Profile Creation → User creates profile with role, grade, interests, etc.
- Access Granted → User can now access all app features
- Can join clubs and participate in activities
- Grade level tracking
- Interest-based recommendations
- Can manage club pages
- Club verification capabilities
- Edit specific club info
- Full club edits
- Highest control on leadership
- Can revoke or transfer leadership
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support or questions:
- Check the Azure configuration guide
- Review the authentication flow documentation
- Open an issue in the repository
Made with blue and white spirit for Berk Prep