Skip to content

call-0f-code/codenest

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CodeNest

CodeNest is a comprehensive member management and collaboration platform built for the Call of Code (CoC) club. This application helps club members track their progress, share interview experiences, manage DSA topics, and build their professional profiles.

🎯 Features

  • User Profiles: Build and showcase professional profiles
  • Interview Experiences: Share and browse interview experiences
  • DSA Dashboard: Track Data Structures and Algorithms progress
  • Progress Tracking: Monitor individual learning progress
  • Topic Management: Organize and track various CS topics

πŸ› οΈ Tech Stack

Frontend

  • React - UI library
  • Vite - Build tool
  • TailwindCSS - Styling
  • React Router - Navigation
  • Axios - HTTP client
  • React Query - Data fetching
  • React Hot Toast - Notifications
  • Radix UI - Component primitives

Backend

  • Bun - JavaScript runtime
  • Express - Web framework
  • TypeScript - Type safety
  • JWT - Authentication
  • Zod - Schema validation
  • Helmet - Security middleware
  • Rate Limiting - API protection

πŸ“‹ Prerequisites

Before you begin, ensure you have installed:

  • Bun (v1.2.18 or higher)
  • Node.js (v18 or higher)
  • Git

πŸš€ Getting Started

1. Clone the Repository

git clone https://github.com/call-0f-code/codenest.git
cd codenest

2. Install Dependencies

Install all dependencies (root, backend, and frontend):

bun run install:all

Or install them separately:

# Install root dependencies
bun install

# Install backend dependencies
bun run install:backend

# Install frontend dependencies
bun run install:frontend

3. Environment Setup

Backend

Create a .env file in the backend directory:

cd backend
cp .env.example .env

Edit the .env file with your configuration.

Frontend

Create a .env file in the frontend directory if needed:

cd frontend
cp .env.example .env

4. Run the Application

Development Mode

Run both frontend and backend concurrently:

bun run dev

Or run them separately:

# Run backend only
bun run backend-dev

# Run frontend only
bun run frontend-dev

Access the Application

πŸ“ Project Structure

codenest/
β”œβ”€β”€ backend/                 # Backend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ config/         # Configuration files
β”‚   β”‚   β”œβ”€β”€ controllers/    # Route controllers
β”‚   β”‚   β”œβ”€β”€ middleware/     # Custom middleware
β”‚   β”‚   β”œβ”€β”€ routes/         # API routes
β”‚   β”‚   β”œβ”€β”€ types/          # TypeScript types
β”‚   β”‚   β”œβ”€β”€ utils/          # Utility functions
β”‚   β”‚   β”œβ”€β”€ validation/     # Input validation
β”‚   β”‚   β”œβ”€β”€ app.ts          # Express app setup
β”‚   β”‚   └── server.ts       # Server entry point
β”‚   β”œβ”€β”€ tests/              # Backend tests
β”‚   └── package.json
β”œβ”€β”€ frontend/               # Frontend application
β”‚   β”œβ”€β”€ public/            # Static assets
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ assets/        # Images, fonts, etc.
β”‚   β”‚   β”œβ”€β”€ components/    # React components
β”‚   β”‚   β”œβ”€β”€ context/       # React context
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom hooks
β”‚   β”‚   β”œβ”€β”€ lib/           # Libraries
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ routes/        # Route configuration
β”‚   β”‚   β”œβ”€β”€ utils/         # Utility functions
β”‚   β”‚   └── App.jsx        # Main App component
β”‚   └── package.json
└── package.json           # Root package.json

πŸ§ͺ Testing

Backend Tests

cd backend
bun test

Frontend Tests

cd frontend
bun test

πŸ”§ Development

Linting

Backend

cd backend
bun run lint
bun run lint:fix  # Auto-fix issues

Frontend

cd frontend
bun run lint

Code Formatting

cd backend
bun run format

πŸ—οΈ Building for Production

Frontend Build

cd frontend
bun run build

Preview Production Build

cd frontend
bun run preview

πŸ“ API Documentation

The backend API is available at /api/v1 with the following endpoints:

  • Members: User and member management
  • Interview: Interview experience sharing
  • Progress: Progress tracking
  • Topics: Topic management

A health check endpoint is available at /health.

🀝 Contributing

This is a private repository for Call of Code club members. If you're a member and want to contribute:

  1. Create a feature branch
  2. Make your changes
  3. Test your changes thoroughly
  4. Submit a pull request

πŸ“§ Support

For questions or issues, please contact the Call of Code club administrators or create an issue in the repository.

πŸ“„ License

This project is private and intended for use by Call of Code club members only.


Built with ❀️ by the Call of Code community

About

Call of Code members website

Resources

Stars

Watchers

Forks

Languages

  • JavaScript 85.8%
  • TypeScript 11.9%
  • CSS 2.1%
  • HTML 0.2%