Skip to content

Commit 2964d44

Browse files
author
frckbrice
committed
docs: update README with latest features and improvements
- Add dark mode support documentation - Include CI/CD pipeline information - Add troubleshooting guide reference - Update installation instructions with Yarn - Add comprehensive project structure - Include development guidelines - Add deployment instructions - Update environment variables section - Add acknowledgments section
1 parent ad007af commit 2964d44

File tree

1 file changed

+146
-34
lines changed

1 file changed

+146
-34
lines changed

README.md

Lines changed: 146 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,32 @@
11
# Real-Time Collaborative Platform
22

3-
A real-time collaborative platform built with Next.js 15+, Supabase, and Quill Editor.
3+
A modern, real-time collaborative platform built with Next.js 15+, Supabase, and Quill Editor. Features real-time document editing, workspace management, and seamless collaboration with live cursors and presence tracking.
44

5-
## Features
5+
## Features
66

7-
- **Real-time Collaboration**: Multiple users can edit documents simultaneously with live cursors
7+
### 🚀 Core Functionality
8+
- **Real-time Collaboration**: Multiple users can edit documents simultaneously with live cursors and presence tracking
89
- **Workspace Management**: Create and manage workspaces with folders and files
910
- **Authentication**: Secure user authentication with Supabase Auth
1011
- **File Management**: Create, edit, and organize files and folders
1112
- **Banner Upload**: Add custom banners to workspaces, folders, and files
1213
- **Emoji Picker**: Customize icons for workspaces, folders, and files
1314
- **Subscription Management**: Premium features with Stripe integration
15+
16+
### 🎨 User Experience
17+
- **Dark Mode Support**: Full dark mode support for all components including Quill editor
1418
- **Responsive Design**: Works seamlessly on desktop and mobile devices
19+
- **Inline Editing**: Rename workspaces, folders, and files directly in the interface
20+
- **Real-time Updates**: Changes appear instantly for all collaborators
21+
- **Profile Management**: Upload and manage profile pictures
22+
23+
### 🔧 Developer Experience
24+
- **TypeScript**: Full TypeScript support for type safety
25+
- **ESLint**: Code quality and consistency
26+
- **CI/CD Pipeline**: Automated testing, building, and deployment
27+
- **Comprehensive Documentation**: Detailed setup and troubleshooting guides
1528

16-
## Rename Functionality
29+
## 🎯 Inline Rename Functionality
1730

1831
### How to Rename Items
1932

@@ -39,78 +52,177 @@ A real-time collaborative platform built with Next.js 15+, Supabase, and Quill E
3952
- **Auto-save**: Changes are saved immediately to the database
4053
- **Real-time Updates**: Changes appear instantly for all collaborators
4154

42-
## Getting Started
55+
## 🚀 Getting Started
4356

4457
### Prerequisites
4558

4659
- Node.js 18+
60+
- Yarn package manager
4761
- Supabase account
4862
- Stripe account (for payments)
4963

5064
### Installation
5165

52-
1. Clone the repository:
66+
1. **Clone the repository**:
5367
```bash
54-
git clone <repository-url>
55-
cd real-time-collaborative-plateform
68+
git clone https://github.com/frckbrice/collaborative-platform.git
69+
cd collaborative-platform
5670
```
5771

58-
2. Install dependencies:
72+
2. **Install dependencies**:
5973
```bash
60-
npm install
74+
yarn install
6175
```
6276

63-
3. Set up environment variables:
77+
3. **Set up environment variables**:
6478
```bash
6579
cp env.example .env.local
6680
```
6781

68-
4. Configure your environment variables in `.env.local`
82+
4. **Configure your environment variables** in `.env.local`
6983

70-
5. Run the development server:
84+
5. **Start Supabase locally** (optional for development):
7185
```bash
72-
npm run dev
86+
supabase start
7387
```
7488

75-
6. Open [http://localhost:3000](http://localhost:3000) in your browser
89+
6. **Run the development server**:
90+
```bash
91+
yarn dev
92+
```
7693

77-
## Environment Variables
94+
7. **Open** [http://localhost:3000](http://localhost:3000) in your browser
95+
96+
## 🔧 Environment Variables
7897

7998
Create a `.env.local` file with the following variables:
8099

81100
```env
82-
# Supabase
101+
# Supabase Configuration
83102
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
84103
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
85104
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
86105
87-
# Stripe
106+
# Database
107+
NEXT_PUBLIC_DATABASE_URL=postgres://postgres:postgres@localhost:54322/postgres
108+
109+
# Stripe Configuration (for payments)
88110
STRIPE_SECRET_KEY=your_stripe_secret_key
89111
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
90-
STRIPE_WEBHOOK_SECRET=your_webhook_secret
112+
STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
91113
92-
# App
93-
NEXT_PUBLIC_APP_URL=http://localhost:3000
114+
# JWT Secret (must match the one in docker-compose.yml)
115+
JWT_SECRET=your-super-secret-jwt-token-with-at-least-32-characters-long
94116
```
95117

96-
## Database Setup
118+
## 🗄️ Database Setup
97119

98-
1. Set up your Supabase project
99-
2. Run the database migrations:
120+
1. **Set up your Supabase project**
121+
2. **Run the database migrations**:
100122
```bash
101-
npm run db:push
123+
supabase db reset
124+
```
125+
126+
3. **Set up storage buckets and policies** as described in the setup documentation
127+
128+
## 🏗️ Development
129+
130+
### Available Scripts
131+
132+
```bash
133+
yarn dev # Start development server
134+
yarn build # Build for production
135+
yarn start # Start production server
136+
yarn lint # Run ESLint
137+
yarn test # Run tests
138+
```
139+
140+
### Project Structure
141+
142+
```
143+
src/
144+
├── app/ # Next.js 15 app router
145+
├── components/ # React components
146+
│ ├── features/ # Feature-specific components
147+
│ ├── global-components/ # Shared components
148+
│ └── ui/ # UI components (shadcn/ui)
149+
├── lib/ # Utilities and configurations
150+
└── utils/ # Helper functions
102151
```
103152

104-
3. Set up storage buckets and policies as described in the setup documentation
153+
## 🔄 CI/CD Pipeline
154+
155+
The project includes automated CI/CD workflows:
156+
157+
### CI Workflow (`.github/workflows/ci.yml`)
158+
- **Linting and Type Checking**: Ensures code quality
159+
- **Testing**: Runs test suite
160+
- **Building**: Builds the application
161+
- **Security Scanning**: Checks for vulnerabilities
162+
- **Build Artifacts**: Uploads build files
163+
164+
### Deployment Workflow (`.github/workflows/deploy.yml`)
165+
- **Automatic Deployment**: Deploys to Vercel on push
166+
- **Environment Management**: Separate staging and production environments
167+
- **Branch-based Deployment**:
168+
- `main` branch → Production
169+
- `develop` branch → Preview
170+
171+
## 🛠️ Troubleshooting
172+
173+
For common issues and solutions, see the comprehensive [TROUBLESHOOTING.md](./TROUBLESHOOTING.md) guide.
174+
175+
### Common Issues
176+
- **Supabase CLI Issues**: Configuration and setup problems
177+
- **Docker Container Problems**: Container conflicts and port issues
178+
- **Email Configuration**: Mailpit setup and SMTP configuration
179+
- **Realtime Collaboration**: Connection and presence tracking issues
180+
- **Authentication Issues**: User management and JWT problems
181+
- **File Upload Problems**: Profile pictures and storage issues
182+
183+
## 🤝 Contributing
184+
185+
1. **Fork the repository**
186+
2. **Create a feature branch**: `git checkout -b feature/amazing-feature`
187+
3. **Make your changes**
188+
4. **Add tests if applicable**
189+
5. **Commit your changes**: `git commit -m 'Add amazing feature'`
190+
6. **Push to the branch**: `git push origin feature/amazing-feature`
191+
7. **Submit a pull request**
192+
193+
### Development Guidelines
194+
- Follow the existing code style
195+
- Add tests for new features
196+
- Update documentation as needed
197+
- Ensure all CI checks pass
198+
199+
## 📚 Documentation
200+
201+
- [Troubleshooting Guide](./TROUBLESHOOTING.md) - Common issues and solutions
202+
- [Environment Setup](./env.example) - Environment variables reference
203+
- [Database Schema](./migrations/) - Database migrations and schema
204+
205+
## 🚀 Deployment
206+
207+
### Vercel (Recommended)
208+
1. Connect your GitHub repository to Vercel
209+
2. Configure environment variables in Vercel dashboard
210+
3. Deploy automatically on push to `main` branch
211+
212+
### Manual Deployment
213+
```bash
214+
yarn build
215+
yarn start
216+
```
105217

106-
## Contributing
218+
## 📄 License
107219

108-
1. Fork the repository
109-
2. Create a feature branch
110-
3. Make your changes
111-
4. Add tests if applicable
112-
5. Submit a pull request
220+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
113221

114-
## License
222+
## 🙏 Acknowledgments
115223

116-
This project is licensed under the MIT License.
224+
- [Next.js](https://nextjs.org/) - React framework
225+
- [Supabase](https://supabase.com/) - Backend as a service
226+
- [Quill Editor](https://quilljs.com/) - Rich text editor
227+
- [shadcn/ui](https://ui.shadcn.com/) - UI components
228+
- [Stripe](https://stripe.com/) - Payment processing

0 commit comments

Comments
 (0)