Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Connect is a cross-platform desktop application designed specifically for the next generation of founders. It empowers teens to transform their creative sparks into thriving startups

Notifications You must be signed in to change notification settings

Davuddevelop/TconnectPhoenix

Repository files navigation

TConnect πŸš€

A complete startup ecosystem helping teenage entrepreneurs validate ideas, find co-founders, and build successful businesses

TConnect is a desktop application built with Electron, Vue 3, and PostgreSQL that empowers teenage entrepreneurs to transform their ideas into thriving startups through validation tools, co-founder matching, project management, and a supportive community.

TConnect

✨ Core Features

🎯 Idea Validation Tools

  • Problem solver board for getting real feedback
  • Voting system for idea validation
  • Market validation tracking
  • Feedback from the community
  • Success scoring based on engagement

🀝 Co-Founder Matching

  • Skill-based matching algorithm
  • "Looking for co-founder" profile flags
  • Required skills listing
  • Match notifications
  • Compatibility scoring

πŸ“Š Project Management & Startup Dashboard

  • Built-in kanban boards
  • Milestone tracking
  • Revenue goal tracking
  • Progress visualization
  • Team collaboration tools

πŸŽ“ Learning Resources & Mentorship

  • Startup academy with step-by-step guides
  • Video course integration
  • Mentor matching system
  • Weekly challenges
  • Resource library

πŸ›οΈ Marketplace

  • Services listing (design, dev, marketing)
  • Buy and sell services
  • Portfolio showcase
  • Review and rating system
  • Secure transactions

πŸ’° Funding Tools

  • Micro-investment platform
  • Pitch creation tools
  • Investment tracking
  • Pre-order system for product launches
  • Revenue sharing agreements

πŸ“ˆ Launch Tracking & Analytics

  • Metrics dashboard
  • Website visitor tracking
  • Email signup tracking
  • Revenue tracking
  • Compare with similar startups

πŸ› οΈ Startup Templates & Tools

  • Business model canvas
  • Pitch deck templates
  • Landing page builder
  • Survey creation tools
  • Pricing calculator
  • Legal document templates
  • Invoice generator

πŸ† Success Milestones

  • Achievement tracking
  • Badge system
  • Journey progress visualization
  • Gamification elements
  • Celebrate wins with community

πŸ‘₯ Community Challenges

  • Weekly/monthly challenges
  • Cohort creation for accountability
  • Group goals and check-ins
  • Community support

πŸ” Authentication & Security

  • Email/password registration with verification
  • OAuth login (Google & GitHub)
  • JWT-based authentication
  • Password reset functionality
  • Secure password hashing with bcrypt
  • Rate limiting and security headers

πŸ‘€ User Profiles

  • Customizable profiles with bio, skills, and interests
  • Profile photos and cover images
  • Privacy controls (public/private profiles)
  • Social media links
  • Entrepreneur-specific fields (looking for mentors, cofounders, etc.)

🀝 Networking

  • Send and manage connection requests
  • View your network of connections
  • Discover other teen entrepreneurs
  • Search by skills, interests, and location

πŸ“± Social Features

  • News feed with posts, likes, and comments
  • Share text, images, and links
  • Real-time notifications
  • Direct messaging with WebSocket support
  • Typing indicators

πŸ’Ό Project Showcase

  • Create portfolio of your projects
  • Add descriptions, images, and links
  • Mark projects as looking for collaborators
  • Like and comment on projects

πŸ‘₯ Groups & Communities

  • Create and join entrepreneurship groups
  • Post in group discussions
  • Group moderation tools
  • Public and private groups

πŸ“… Events

  • Create and discover entrepreneurship events
  • RSVP to events
  • Virtual and in-person events
  • Event reminders

πŸ” Search & Discovery

  • Advanced search for users, projects, groups, and events
  • Filter by skills, interests, location
  • Smart recommendations

πŸ›‘οΈ Safety Features

  • Block users
  • Report inappropriate content
  • Content moderation
  • Privacy settings

πŸ› οΈ Tech Stack

Frontend

  • Vue 3 - Progressive JavaScript framework
  • Vue Router - Official router for Vue.js
  • Pinia - State management for Vue
  • Axios - HTTP client
  • Socket.io Client - Real-time communication
  • Vite - Next generation build tool

Backend

  • Node.js - JavaScript runtime
  • Express - Web application framework
  • PostgreSQL - Relational database
  • Socket.io - Real-time bidirectional communication
  • JWT - JSON Web Tokens for authentication
  • Bcrypt - Password hashing
  • Nodemailer - Email sending
  • Passport - OAuth authentication

Desktop

  • Electron - Cross-platform desktop app framework

πŸ“¦ Installation

Prerequisites

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

1. Clone the repository

git clone https://github.com/yourusername/TconnectPhoenix.git
cd TconnectPhoenix

2. Install dependencies

npm install

3. Set up environment variables

Copy .env.example to .env and configure:

cp .env.example .env

Update the following variables in .env:

# Database
DB_HOST=localhost
DB_PORT=5432
DB_NAME=tconnect_phoenix
DB_USER=postgres
DB_PASSWORD=your-postgres-password
# JWT Secrets (change these!)
JWT_SECRET=your-super-secret-jwt-key
JWT_REFRESH_SECRET=your-refresh-token-secret
# Email (for Gmail, create app password)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your-email@gmail.com
EMAIL_PASSWORD=your-app-password
# OAuth (Get from Google & GitHub developer consoles)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret

4. Set up the database

# Create database and run schema
npm run db:setup
# Seed with initial data (skills, interests)
node server/database/seed.js

5. Run the application

Development mode:

npm run dev

This will start:

Production build:

npm run build
npm run electron:build

πŸ“ Project Structure

TconnectPhoenix/
β”œβ”€β”€ src/ # Frontend Vue application
β”‚ β”œβ”€β”€ components/ # Vue components
β”‚ β”œβ”€β”€ views/ # Page components
β”‚ β”œβ”€β”€ router/ # Vue Router configuration
β”‚ β”œβ”€β”€ stores/ # Pinia stores
β”‚ β”œβ”€β”€ services/ # API services
β”‚ β”œβ”€β”€ utils/ # Utility functions
β”‚ β”œβ”€β”€ assets/ # Static assets
β”‚ β”œβ”€β”€ App.vue # Root component
β”‚ └── main.ts # Application entry
β”‚
β”œβ”€β”€ server/ # Backend Express server
β”‚ β”œβ”€β”€ controllers/ # Route controllers
β”‚ β”œβ”€β”€ middleware/ # Custom middleware
β”‚ β”œβ”€β”€ routes/ # API routes
β”‚ β”œβ”€β”€ services/ # Business logic services
β”‚ β”œβ”€β”€ utils/ # Utility functions
β”‚ β”œβ”€β”€ database/ # Database files
β”‚ β”‚ β”œβ”€β”€ schema.sql # Database schema
β”‚ β”‚ β”œβ”€β”€ setup.js # Database setup script
β”‚ β”‚ β”œβ”€β”€ seed.js # Seed data script
β”‚ β”‚ └── connection.js # Database connection
β”‚ └── server.js # Server entry point
β”‚
β”œβ”€β”€ electron-main.js # Electron main process
β”œβ”€β”€ preload.js # Electron preload script
β”œβ”€β”€ vite.config.ts # Vite configuration
β”œβ”€β”€ package.json # Dependencies and scripts
└── .env # Environment variables

πŸ”‘ API Endpoints

Authentication

  • POST /api/auth/register - Register new user
  • POST /api/auth/login - Login user
  • GET /api/auth/verify-email?token=xxx - Verify email
  • POST /api/auth/resend-verification - Resend verification email
  • POST /api/auth/forgot-password - Request password reset
  • POST /api/auth/reset-password - Reset password
  • POST /api/auth/refresh-token - Refresh access token
  • GET /api/auth/me - Get current user (protected)

Users

  • GET /api/users/:id - Get user profile
  • PUT /api/users/profile - Update profile
  • GET /api/users/search - Search users

Connections

  • POST /api/connections/request - Send connection request
  • POST /api/connections/accept/:id - Accept request
  • POST /api/connections/reject/:id - Reject request
  • GET /api/connections - Get user connections

Posts

  • GET /api/posts - Get feed posts
  • POST /api/posts - Create post
  • PUT /api/posts/:id - Update post
  • DELETE /api/posts/:id - Delete post
  • POST /api/posts/:id/like - Like post
  • POST /api/posts/:id/comment - Comment on post

Messages

  • Real-time messaging via Socket.io
  • GET /api/messages/conversations - Get user conversations
  • POST /api/messages - Send message
  • GET /api/messages/:conversationId - Get conversation messages

Startup Features (In Development)

  • Co-founder matching endpoints
  • Milestone tracking endpoints
  • Marketplace endpoints
  • Funding platform endpoints
  • Learning resources endpoints

🎨 Frontend Development

Adding a new page

  1. Create component in src/views/
  2. Add route in src/router/index.ts
  3. Add navigation link in App.vue

Using the auth store

import { useAuthStore } from '@/stores/auth';
const authStore = useAuthStore();
// Login
await authStore.login(email, password);
// Register
await authStore.register(userData);
// Check if authenticated
if (authStore.isAuthenticated) {
 // User is logged in
}
// Get current user
const user = authStore.user;

Making API calls

import api from '@/services/api';
// GET request
const response = await api.get('/users/123');
// POST request
const response = await api.post('/posts', {
 content: 'My post content'
});

πŸ”Œ Socket.io Events

Client β†’ Server

  • join - Join user's personal room
  • join_conversation - Join conversation room
  • send_message - Send message
  • typing - User is typing
  • stop_typing - User stopped typing

Server β†’ Client

  • new_message - New message received
  • user_typing - Another user is typing
  • user_stop_typing - User stopped typing
  • notification - New notification

πŸ§ͺ Testing

# Run unit tests (coming soon)
npm test
# Run E2E tests (coming soon)
npm run test:e2e

πŸš€ Deployment

Database

  1. Set up PostgreSQL database on your hosting provider
  2. Run npm run db:setup on production server
  3. Update .env with production database credentials

Backend

Deploy to services like:

  • Heroku
  • DigitalOcean
  • AWS EC2
  • Google Cloud Run

Desktop App

Build installers:

npm run electron:build

Outputs in dist/ folder:

  • Windows: .exe installer
  • macOS: .dmg installer
  • Linux: .AppImage

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a 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

πŸ“ Development Roadmap

Phase 1: Foundation βœ…

  • Database schema
  • Authentication system
  • User profiles
  • Basic UI structure
  • Modern design with glassmorphism

Phase 2: Core Features βœ…

  • Connection system
  • News feed
  • Real-time messaging
  • Project showcase

Phase 3: Startup Ecosystem 🚧

  • Idea validation tools
  • Co-founder matching algorithm
  • Startup dashboard with milestones
  • Learning resources & mentorship
  • Marketplace for services
  • Funding tools

Phase 4: Community & Growth πŸ“‹

  • Groups & communities
  • Events calendar
  • Community challenges
  • Success milestones & gamification
  • Analytics dashboard

Phase 5: Polish πŸ“‹

  • Advanced notifications
  • Mobile app version
  • Performance optimization
  • Advanced analytics

πŸ› Known Issues

  • OAuth integration pending (Google & GitHub credentials needed)
  • Email service requires Gmail app password configuration
  • Startup ecosystem features are in active development

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Built by teenage entrepreneurs, for teenage entrepreneurs


πŸ™ Acknowledgments

  • Built with ❀️ for the teenage entrepreneur community
  • Inspired by Y Combinator, Product Hunt, and successful startup ecosystems
  • Special thanks to all contributors and teen entrepreneurs testing the platform

πŸ“ž Support

Need help? Have questions?


⚠️ Important Note: This platform is designed to help teenage entrepreneurs build real businesses. Always prioritize online safety, verify partnerships, and seek parental guidance for legal/financial decisions.


Made with πŸ’™ by teen entrepreneurs, for teen entrepreneurs.

About

Connect is a cross-platform desktop application designed specifically for the next generation of founders. It empowers teens to transform their creative sparks into thriving startups

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /