https://github.com/creativoma/networkpro
π§ Work in progress inspired by the work done by https://x.com/levelsio
https://github.com/creativoma/networkpro
next-theme nextjs postgressql shadcn-ui supabase typescript vercel
Last synced: 4 months ago
JSON representation
π§ Work in progress inspired by the work done by https://x.com/levelsio
- Host: GitHub
- URL: https://github.com/creativoma/networkpro
- Owner: creativoma
- Created: 2024-08-26T12:56:40.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-06T12:17:24.000Z (6 months ago)
- Last Synced: 2025-12-10T06:41:19.332Z (6 months ago)
- Topics: next-theme, nextjs, postgressql, shadcn-ui, supabase, typescript, vercel
- Language: TypeScript
- Homepage: https://networkpro.vercel.app
- Size: 324 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NetworkPro
A modern professional networking platform built with Next.js 14, TypeScript, and Supabase. Connect with professionals worldwide, discover events, and explore career opportunities.




## π Features
- **Professional Profiles**: Create and browse detailed professional profiles with skills, experience, and certifications
- **Job Opportunities**: Discover and apply for job openings from companies worldwide
- **Networking Events**: Find and register for professional events, conferences, and workshops
- **Real-time Connections**: Send and manage connection requests with other professionals
- **Messaging System**: Communicate directly with your connections (coming soon)
- **Favorites**: Save interesting profiles, jobs, and events for later
- **Dark Mode**: Built-in dark mode support with next-themes
- **Responsive Design**: Fully responsive UI that works on all devices
- **Authentication**: Secure authentication with Supabase Auth (Google & GitHub providers)
## π Tech Stack
- **Framework**: [Next.js 14](https://nextjs.org/) (App Router)
- **Language**: [TypeScript](https://www.typescriptlang.org/)
- **Database**: [Supabase](https://supabase.com/) (PostgreSQL)
- **Authentication**: Supabase Auth
- **Styling**: [Tailwind CSS](https://tailwindcss.com/)
- **UI Components**: [shadcn/ui](https://ui.shadcn.com/) (Radix UI)
- **Icons**: [Lucide React](https://lucide.dev/)
- **Theme**: [next-themes](https://github.com/pacocoursey/next-themes)
## π Prerequisites
Before you begin, ensure you have the following installed:
- Node.js 18.x or higher
- npm, yarn, pnpm, or bun
- A Supabase account ([Sign up here](https://supabase.com))
## π οΈ Installation
1. **Clone the repository**
```bash
git clone https://github.com/yourusername/networkpro.git
cd networkpro
```
2. **Install dependencies**
```bash
npm install
# or
yarn install
# or
pnpm install
```
3. **Set up Supabase**
- Create a new project in [Supabase](https://app.supabase.com)
- Go to Project Settings > API
- Copy your project URL and anon/public key
4. **Configure environment variables**
Create a `.env.local` file in the root directory:
```bash
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
```
5. **Set up the database**
a. Open the Supabase SQL Editor
b. Run the schema file:
```bash
# Copy and paste the contents of supabase/schema.sql into the SQL Editor
```
c. (Optional) Add seed data:
```bash
# Copy and paste the contents of supabase/seed.sql into the SQL Editor
```
6. **Configure Authentication Providers** (Optional)
In your Supabase dashboard:
- Go to Authentication > Providers
- Enable Google and/or GitHub authentication
- Add the OAuth credentials from your Google/GitHub apps
7. **Run the development server**
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
```
8. **Open your browser**
Navigate to [http://localhost:3000](http://localhost:3000)
## π Project Structure
```
networkpro/
βββ src/
β βββ app/ # Next.js app router pages
β β βββ about/ # About page
β β βββ auth/ # Authentication page
β β βββ events/ # Events listing and detail pages
β β βββ jobs/ # Jobs listing and detail pages
β β βββ privacy/ # Privacy policy page
β β βββ professionals/ # Professionals listing and detail pages
β β βββ profile/ # User profile page
β β βββ terms/ # Terms of service page
β β βββ layout.tsx # Root layout with theme provider
β β βββ page.tsx # Homepage
β βββ components/ # React components
β β βββ ui/ # shadcn/ui components
β β βββ Auth.tsx # Authentication component
β β βββ EventCard.tsx # Event card component
β β βββ Footer.tsx # Footer component
β β βββ JobCard.tsx # Job card component
β β βββ NavBar.tsx # Navigation bar
β β βββ ProfessionalCard.tsx # Professional card component
β βββ hooks/ # Custom React hooks
β β βββ useAuth.ts # Authentication hook
β β βββ useEvents.ts # Events data hook
β β βββ useJobs.ts # Jobs data hook
β β βββ useProfessionals.ts # Professionals data hook
β βββ lib/ # Utility functions
β β βββ api.ts # API functions for data fetching
β β βββ supabase.ts # Supabase client configuration
β β βββ utils.ts # Utility functions
β βββ types/ # TypeScript type definitions
β βββ index.ts # All type definitions
βββ supabase/ # Supabase configuration
β βββ schema.sql # Database schema
β βββ seed.sql # Sample data
βββ public/ # Static assets
βββ .env.example # Example environment variables
βββ package.json # Dependencies and scripts
```
## ποΈ Database Schema
The application uses the following main tables:
- **users**: User profiles and information
- **professionals**: Professional profiles with skills and experience
- **events**: Networking events and conferences
- **jobs**: Job opportunities and listings
- **connections**: User connections and networking
- **messages**: Direct messages between users
- **favorites**: Saved items (professionals, jobs, events)
- **event_registrations**: Event attendance tracking
For detailed schema information, see `supabase/schema.sql`.
## π Authentication
NetworkPro uses Supabase Authentication with support for:
- Email/Password authentication
- Google OAuth
- GitHub OAuth
Row Level Security (RLS) policies ensure users can only access and modify their own data.
## π¨ Customization
### Theme Colors
Modify theme colors in `src/app/globals.css`:
```css
:root {
--primary: ...;
--secondary: ...;
/* Add your custom colors */
}
```
### Components
All UI components are built with [shadcn/ui](https://ui.shadcn.com/) and can be customized in `src/components/ui/`.
## π Available Scripts
```bash
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
```
## π’ Deployment
### Deploy to Vercel (Recommended)
1. Push your code to GitHub
2. Import your repository in [Vercel](https://vercel.com)
3. Add your environment variables
4. Deploy!
[](https://vercel.com/new)
### Other Platforms
NetworkPro can be deployed to any platform that supports Next.js:
- [Netlify](https://www.netlify.com/)
- [Railway](https://railway.app/)
- [Render](https://render.com/)
- [AWS Amplify](https://aws.amazon.com/amplify/)
## π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π Acknowledgments
- [Next.js](https://nextjs.org/) - The React Framework
- [Supabase](https://supabase.com/) - Open source Firebase alternative
- [shadcn/ui](https://ui.shadcn.com/) - Re-usable components
- [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS framework
- [Lucide](https://lucide.dev/) - Beautiful icons
## π Support
If you have any questions or need help, please:
- Open an issue on GitHub
- Email us at support@networkpro.com
- Check out our [documentation](https://docs.networkpro.com)
## πΊοΈ Roadmap
- [x] User authentication
- [x] Professional profiles
- [x] Job listings
- [x] Event management
- [x] Connection requests
- [x] Favorites system
- [ ] Real-time messaging
- [ ] Advanced search filters
- [ ] Notifications system
- [ ] Video calls integration
- [ ] Mobile app (React Native)
---
Made with β€οΈ by the NetworkPro team