Jam Connect is a full-stack web application designed to connect musicians, bands, and music enthusiasts. The platform enables users to create profiles, search for collaborators, and manage musical projects. The repository is organized into a backend (Node.js/TypeScript/Prisma) and a frontend (React/TypeScript).
- Features
- Project Structure
- Getting Started
- Backend
- Frontend
- Database
- Development
- Contributing
- License
- User authentication (sign up, login)
- User profiles with extended fields
- Project and collaboration management
- Modern React frontend
- Type-safe backend with Prisma ORM
jam-connect/
├── backend/ # Node.js backend (API, Prisma, business logic)
├── frontend/ # React frontend (UI, API client)
├── Project idea.md # Project planning and ideas
├── package.json # Root package (optional scripts)
- Node.js (v18+ recommended)
- npm or yarn
- PostgreSQL (or your preferred database, update
prisma/schema.prismaaccordingly)
- Clone the repository:
git clone https://github.com/yourusername/jam-connect.git cd jam-connect - Install dependencies:
cd backend && npm install cd ../frontend && npm install
- Location:
backend/ - Tech Stack: Node.js, TypeScript, Prisma ORM
- Setup:
- Configure your database in
backend/prisma/schema.prisma. - Run migrations:
npx prisma migrate dev
- Start the backend server:
npm run dev
- Configure your database in
- Entry Point:
backend/src/index.ts
- Location:
frontend/ - Tech Stack: React, TypeScript
- Setup:
- Start the frontend development server:
npm start
- The app will be available at
http://localhost:3000by default.
- Start the frontend development server:
- Prisma ORM is used for database management.
- Migrations are stored in
backend/prisma/migrations/. - Update the schema in
backend/prisma/schema.prismaand runnpx prisma migrate devto apply changes.
- Backend:
- TypeScript code in
backend/src/ - Prisma client generated in
backend/src/generated/prisma/
- TypeScript code in
- Frontend:
- React components in
frontend/src/ - API client in
frontend/src/apiClient.ts
- React components in
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature) - Commit your changes
- Push to the branch (
git push origin feature/your-feature) - Open a pull request
This project is licensed under the MIT License.