Skip to content

spooodieman/code-my-cells

Repository files navigation

Find Your Shrey - Project Application Platform

A comprehensive full-stack application for managing project collaboration, task tracking, and developer matchmaking.

🌟 Features

  • Project Discovery: Find active projects and open tasks.
  • Project Management: Create projects, managing tasks (Kanban/List views), and track progress.
  • Application System: Users can apply to projects, and owners can accept/reject applications.
  • Role-Based Access: Granular permissions for Owners, Contributors, and Visitors.
  • Developer Profiles: Showcase skills, work history, and reputation ratings.
  • Messaging: Real-time-style internal messaging system.
  • Tactical Matchmaking: Find developers based on specific domains and skills.

🛠 Tech Stack

Client (/client)

  • Framework: React + Vite
  • Styling: Tailwind CSS, Shadcn UI, Framer Motion
  • State Management: React Context / Custom Hooks
  • Routing: React Router DOM
  • Icons: Lucide React

Server (/server)

  • Runtime: Node.js
  • Framework: Express.js
  • Database: MongoDB (via Mongoose)
  • Authentication: JWT (JSON Web Tokens)
  • Environment: Dotenv

🚀 Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB installed locally or a MongoDB Atlas URI

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd code-my-cells
  2. Install Server Dependencies:

    cd server
    npm install
  3. Install Client Dependencies:

    cd ../client
    npm install

Configuration

Create .env files in both client and server directories.

Server (server/.env):

MONGO_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=5000

Client (client/.env):

VITE_API_BASE=http://localhost:5000

Running the Application

  1. Start the Server:

    cd server
    npm start

    (Runs on port 5000)

  2. Start the Client:

    cd client
    npm run dev

    (Runs on port 8080)

  3. Access the App: Open http://localhost:8080 in your browser.

📂 Project Structure

├── client/                # Frontend application
│   ├── src/
│   │   ├── components/    # Reusable UI components
│   │   ├── pages/         # Application pages (Dashboard, Find, etc.)
│   │   ├── lib/           # Utilities and mock data
│   │   └── App.tsx        # Main application entry
│   └── vite.config.ts     # Vite configuration
│
├── server/                # Backend API
│   ├── models/            # Mongoose schemas (User, Project, Task)
│   ├── routes/            # API endpoints
│   ├── controllers/       # Route logic
│   └── index.js           # Server entry point

🔐 API Endpoints

  • Auth: /auth/register, /auth/login
  • Projects: /project (Get All), /project (Create), /project/:id (Details)
  • Tasks: /task/open (Find Tasks), /task (Create)
  • Applications: /application (Apply), /application/:id/accept

🎨 Design System

The project uses a Pastel Vibrant aesthetic with Brutalist elements:

  • Colors: Soft Pinks, Blues, Yellows mixed with Bold Black borders.
  • Typography: Custom fonts (Airone, Built Titling) for distinct identity.

🤝 Contributing

  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.

Note: This project is currently in active development.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •