Skip to content

MishtiGarg250/aether

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Aether

Aether is a comprehensive personal workspace and productivity application designed to help you organize notes, documents, tasks, and links with the power of AI. It features a robust backend built with Node.js and Express, and a modern, responsive frontend built with Next.js.

Features

  • Notes & Documents: Create, organize, and annotate your notes and documents.
  • Task Management: Keep track of your tasks and stay productive.
  • Link Management: Save and manage your bookmarks and links.
  • AI Integration: Powered by Google Generative AI to assist with knowledge retrieval and content generation.
  • Knowledge Graph: Visualize connections between your notes, tasks, and documents using an interactive D3.js graph.
  • Calendar Integration: Sync and manage your events with Google Calendar integration.
  • Secure Authentication: User authentication and session management powered by Clerk and Passport.js.
  • Background Processing: Efficient handling of long-running tasks like AI generation using BullMQ.

Tech Stack

Frontend

  • Framework: Next.js (React)
  • Styling: Tailwind CSS
  • Authentication: Clerk
  • Data Visualization: D3.js

Backend

  • Framework: Node.js with Express.js
  • Database: MongoDB (with Mongoose)
  • Authentication: Clerk / Passport.js
  • AI: Google Generative AI integration
  • Job Queues: BullMQ & Redis
  • File Storage: Cloudinary (via Multer)

Getting Started

Prerequisites

  • Node.js (v18 or higher recommended)
  • MongoDB
  • Redis (for BullMQ)

Environment Variables

You will need to set up .env files in both the frontend and backend directories.

Backend .env example:

PORT=5005
MONGO_URI=your_mongodb_connection_string
FRONTEND_URL=http://localhost:3000
SESSION_SECRET=your_session_secret

Frontend .env.local example:

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_API_URL=http://localhost:5005

Installation

  1. Clone the repository and navigate to the project directory.

  2. Install Backend Dependencies:

    cd backend
    npm install
  3. Install Frontend Dependencies:

    cd ../frontend
    npm install

Running the Application

  1. Start the Backend Server:

    cd backend
    npm run dev

    The backend API will run on http://localhost:5005.

  2. Start the Background Workers (in a new terminal):

    cd backend
    npm run worker:knowledge
  3. Start the Frontend Development Server (in a new terminal):

    cd frontend
    npm run dev

    The frontend application will be available at http://localhost:3000.

Project Structure

  • /backend: Contains the Express.js API, database models, routes, controllers, and background workers.
  • /frontend: Contains the Next.js frontend application, React components, and UI views.

License

This project is licensed under the ISC License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors