A Next.js application for company planning and asset management.
- 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
First, install dependencies:
npm installCreate 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 devOpen http://localhost:3000 with your browser to see the result.
To enable Google sign-in:
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the Google+ API
- Go to "Credentials" → "Create Credentials" → "OAuth client ID"
- 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
- 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)
- Copy the Client ID and Client Secret to your
.env.localfile
Note: Google OAuth is optional. If not configured, users can still sign up and log in with email/password.
- Next.js 16 - React framework with App Router
- MongoDB Atlas - Database
- Mongoose - ODM for MongoDB
- Tailwind CSS - Styling
- TypeScript - Type safety
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.