Skip to content

MishtiGarg250/aether

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors