Skip to content

ishantmishra03/Astrynel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Astrynel

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.


Tech Stack


📋 Overview

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.


✨ Key Features

User & Workspace Management

  • Secure authentication and authorization system
  • Flexible workspace creation and membership management
  • Invitation-based access control for secure collaboration

Real-Time 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

Media & Storage

  • Optimized image uploads through ImageKit CDN
  • Fast asset delivery with automatic optimization and transformations

Technical Architecture

  • 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

📁 Project Structure

astrynel/
├── frontend/              # Next.js client application
├── backend/               # Node.js + Express.js API server
└── docker-compose.yml     # Docker configuration

⚙️ Environment Configuration

Backend Configuration

An .env.example template is provided in the backend directory for your convenience.

Setup steps:

cd backend
cp .env.example .env

Configure 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"

Frontend Configuration

Create a .env file in the frontend directory:

cd frontend
touch .env

Add the following configuration:

NEXT_PUBLIC_API_URL=http://localhost:5000/api
NEXT_PUBLIC_SOCKET_URL=http://localhost:5000

Note: These URLs should point to your backend API and WebSocket server. Adjust ports as needed based on your configuration.


🚀 Getting Started

Quick Start with Docker (Recommended)

The easiest way to run Astrynel is using Docker Compose:

docker compose up --build

This 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


Manual Development Setup

For local development without Docker:

1. Install dependencies:

# Install frontend dependencies
cd frontend
npm install

# Install backend dependencies
cd ../backend
npm install

2. Start development servers:

Open two terminal windows and run:

# Terminal 1 - Frontend
cd frontend
npm run dev

# Terminal 2 - Backend
cd backend
npm run dev

The frontend will be available at http://localhost:3000 and the backend at http://localhost:5000.


🔧 Development Status

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.


📄 License

This project is currently under active development. Please contact the maintainers for licensing information.


🤝 Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.


About

Astrynel is a modern real-time collaboration platform designed for seamless team productivity.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages