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.
- 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
- 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
- Bun - JavaScript runtime
- Express - Web framework
- TypeScript - Type safety
- JWT - Authentication
- Zod - Schema validation
- Helmet - Security middleware
- Rate Limiting - API protection
Before you begin, ensure you have installed:
- Bun (v1.2.18 or higher)
- Node.js (v18 or higher)
- Git
git clone https://github.com/call-0f-code/codenest.git
cd codenestInstall all dependencies (root, backend, and frontend):
bun run install:allOr install them separately:
# Install root dependencies
bun install
# Install backend dependencies
bun run install:backend
# Install frontend dependencies
bun run install:frontendCreate a .env file in the backend directory:
cd backend
cp .env.example .envEdit the .env file with your configuration.
Create a .env file in the frontend directory if needed:
cd frontend
cp .env.example .envRun both frontend and backend concurrently:
bun run devOr run them separately:
# Run backend only
bun run backend-dev
# Run frontend only
bun run frontend-dev- Frontend: http://localhost:5173
- Backend: http://localhost:3000 (or as configured)
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
cd backend
bun testcd frontend
bun testcd backend
bun run lint
bun run lint:fix # Auto-fix issuescd frontend
bun run lintcd backend
bun run formatcd frontend
bun run buildcd frontend
bun run previewThe 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.
This is a private repository for Call of Code club members. If you're a member and want to contribute:
- Create a feature branch
- Make your changes
- Test your changes thoroughly
- Submit a pull request
For questions or issues, please contact the Call of Code club administrators or create an issue in the repository.
This project is private and intended for use by Call of Code club members only.
Built with β€οΈ by the Call of Code community