Skip to content

Davuddevelop/TconnectPhoenix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors