A modern real-time collaboration platform designed for seamless team communication and productivity. Astrynel provides shared workspaces where teams can collaborate on notes, manage tasks, and communicate through integrated chat—all synchronized in real-time using WebSocket technology.
Astrynel empowers teams to collaborate effectively by providing:
- Secure User Management – Create accounts and manage personal or team workspaces with role-based access
- Collaborative Spaces – Join workspaces through secure invitation links and collaborate with team members
- Real-Time Synchronization – Experience instant updates across notes, tasks, and chat powered by WebSocket technology
- Live Notifications – Stay informed with Redis-backed real-time notification system
- Media Management – Upload and manage images seamlessly with ImageKit integration
Built with enterprise-grade architecture and fully containerized using Docker for streamlined development and deployment workflows.
- Secure authentication and authorization system
- Flexible workspace creation and membership management
- Invitation-based access control for secure collaboration
- Collaborative Notes – Edit and view shared notes with live synchronization
- Task Management – Create, assign, and track tasks with real-time updates
- Integrated Chat – Communicate instantly with team members within workspaces
- Live Notifications – Receive instant updates powered by Socket.IO and Redis pub/sub
- Optimized image uploads through ImageKit CDN
- Fast asset delivery with automatic optimization and transformations
- Modern Next.js frontend with server-side rendering capabilities
- Robust Node.js and Express.js RESTful API backend
- Scalable MongoDB database with Redis caching layer
- Fully containerized microservices architecture using Docker
- Predictable state management via Redux Toolkit
astrynel/
├── frontend/ # Next.js client application
├── backend/ # Node.js + Express.js API server
└── docker-compose.yml # Docker configuration
An .env.example template is provided in the backend directory for your convenience.
Setup steps:
cd backend
cp .env.example .envConfigure the following environment variables in your .env file:
PORT=5000
NODE_ENV="development"
SESSION_SECRET=""
MONGODB_URL="your_mongodb_url"
REDIS_HOST=""
REDIS_PORT=18832
REDIS_USERNAME="your_redis_username"
REDIS_PASSWORD="your_redis_username"
IMAGEKIT_PUBLIC_KEY="your_imagekit_public_key"
IMAGEKIT_PRIVATE_KEY="your_imagekit_private_key"
IMAGEKIT_URL_ENDPOINT="your_imagekit_url_endpoint"
Create a .env file in the frontend directory:
cd frontend
touch .envAdd the following configuration:
NEXT_PUBLIC_API_URL=http://localhost:5000/api
NEXT_PUBLIC_SOCKET_URL=http://localhost:5000Note: These URLs should point to your backend API and WebSocket server. Adjust ports as needed based on your configuration.
The easiest way to run Astrynel is using Docker Compose:
docker compose up --buildThis command will:
- Build all required containers
- Start the frontend, backend, MongoDB, and Redis services
- Configure networking between services automatically
Access the application at http://localhost:3000
For local development without Docker:
1. Install dependencies:
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
npm install2. Start development servers:
Open two terminal windows and run:
# Terminal 1 - Frontend
cd frontend
npm run dev
# Terminal 2 - Backend
cd backend
npm run devThe frontend will be available at http://localhost:3000 and the backend at http://localhost:5000.
Astrynel is currently in active development. The following core features are implemented and functional:
- ✅ User authentication and authorization
- ✅ Workspace creation and management
- ✅ Real-time collaborative notes
- ✅ Real-time task management
- ✅ Integrated team chat
- ✅ Live notification system
- ✅ Media upload and management
Additional features and enhancements are planned for future releases.
This project is currently under active development. Please contact the maintainers for licensing information.
Contributions are welcome! Please feel free to submit issues or pull requests.