Skip to content

Latest commit

 

History

870 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nucleas

A Next.js application for company planning and asset management.

Features

  • Planning Map: Visual calendar view for projects across multiple time horizons (Today, Weekly, Monthly, Quarterly, Yearly)
  • Asset Repository: Centralized directory of tools, documents, and resources
  • Employee Management: Track employee capacity, workload, and assignments
  • Project Management: Create projects with stages, estimated hours, and assignments
  • Role-Based Access Control: Administrator and User roles with appropriate permissions

Getting Started

First, install dependencies:

npm install

Create a .env.local file in the root directory with your environment variables:

MONGODB_URI=your_mongodb_connection_string
NEXTAUTH_SECRET=your_secret_key
NEXTAUTH_URL=http://localhost:3000
BREVO_API_KEY=your_brevo_api_key
BREVO_SENDER_EMAIL=theteam@nucleas.app
BREVO_SENDER_NAME=Nucleas (optional - defaults to "Nucleas" if not set)
GOOGLE_CLIENT_ID=your_google_client_id (optional - for Google OAuth)
GOOGLE_CLIENT_SECRET=your_google_client_secret (optional - for Google OAuth)
GOOGLE_REDIRECT_URI=http://localhost:3000/api/auth/google/callback (optional - login only)
GOOGLE_CALENDAR_REDIRECT_URI=http://localhost:3000/api/scheduling/google/callback (optional - calendar connect; register in GCP)
CALENDAR_TOKEN_ENCRYPTION_KEY=random_32_char_secret (optional - encrypts calendar refresh tokens)
OPENAI_API_KEY=your_openai_key (optional — enables AI intent parsing for voice and command palette; also set on Vercel for production)

Environment Variables:

  • MONGODB_URI - Your MongoDB Atlas connection string (required)
  • NEXTAUTH_SECRET - A random secret key for session encryption (required)
  • NEXTAUTH_URL - Your application URL (required)
  • BREVO_API_KEY - Your Brevo API key for sending emails (required for invitations)
  • BREVO_SENDER_EMAIL - Email address to send from (should be set to theteam@nucleas.app)
  • BREVO_SENDER_NAME - Name to display as sender (optional - defaults to "Nucleas")
  • GOOGLE_CLIENT_ID - Google OAuth Client ID (optional - enables Google sign-in)
  • GOOGLE_CLIENT_SECRET - Google OAuth Client Secret (optional - required if GOOGLE_CLIENT_ID is set)
  • GOOGLE_REDIRECT_URI - Google sign-in redirect URI (optional - defaults to NEXTAUTH_URL + /api/auth/google/callback)
  • GOOGLE_CALENDAR_REDIRECT_URI - Google Calendar OAuth redirect (optional - defaults to NEXTAUTH_URL + /api/scheduling/google/callback; must match GCP Authorized redirect URIs — see docs/google-calendar-oauth.md)
  • CALENDAR_TOKEN_ENCRYPTION_KEY - Encrypts stored calendar refresh tokens (recommended in production)
  • OPENAI_API_KEY - OpenAI API key (optional — voice/palette intent parsing via /api/parse-intent; without it, rule-based parsing only)

Run the development server:

npm run dev

Open http://localhost:3000 with your browser to see the result.

Google OAuth Setup (Optional)

To enable Google sign-in:

  1. Go to Google Cloud Console
  2. Create a new project or select an existing one
  3. Enable the Google+ API
  4. Go to "Credentials" → "Create Credentials" → "OAuth client ID"
  5. Configure the OAuth consent screen:
    • User Type: External (unless you have a Google Workspace)
    • App name: Nucleas
    • Support email: your email
    • Scopes: email, profile, openid
  6. Create OAuth client ID:
    • Application type: Web application
    • Authorized redirect URIs:
      • http://localhost:3000/api/auth/google/callback (for development)
      • https://your-domain.com/api/auth/google/callback (for production)
  7. Copy the Client ID and Client Secret to your .env.local file

Note: Google OAuth is optional. If not configured, users can still sign up and log in with email/password.

Tech Stack

  • Next.js 16 - React framework with App Router
  • MongoDB Atlas - Database
  • Mongoose - ODM for MongoDB
  • Tailwind CSS - Styling
  • TypeScript - Type safety

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages