A modern, mythologically-inspired landing website for Yggrasoft Labs built with the MERN stack (MongoDB, Express, React, Node.js).
Yggrasoft Labs is dedicated to developing, funding, and deploying real-world solutions across multiple domains including technology, agriculture, education, stock markets, job markets, healthcare, and more. The organization's identity is inspired by Yggdrasil, the World Tree from Norse mythology, symbolizing interconnected growth and support across different realms.
The website embodies the Yggdrasil mythology through:
- Color Palette: Gold (#8C7231, #A89048) and Teal (#365265, #4A7A8A) with dark accents (#5d1B2C, #213127, #010202)
- Visual Elements: Tree-inspired designs, organic flowing animations, Norse-inspired patterns
- Typography: Cinzel for headings, Inter for body text, Marcellus for accents
- React 18+ with TypeScript
- Vite for fast development and optimized builds
- Tailwind CSS for styling
- Framer Motion for animations
- Axios for API calls
- React Hook Form for form management
- Node.js 18+ with Express.js
- TypeScript for type safety
- MongoDB with Mongoose
- Nodemailer for email notifications
- Helmet for security
- Morgan for logging
yggdrasil-landing/
βββ assets/ # Project assets (logos, images, etc.)
β βββ favicon.png
β βββ full picture with background.png
β
βββ client/ # Frontend React application
β βββ public/
β βββ src/
β β βββ components/ # React components
β β βββ hooks/ # Custom hooks
β β βββ services/ # API services
β β βββ styles/ # Global styles
β β βββ types/ # TypeScript types
β β βββ utils/ # Utility functions
β βββ package.json
β
βββ server/ # Backend Node.js application
β βββ src/
β β βββ config/ # Configuration files
β β βββ controllers/ # Route controllers
β β βββ models/ # Mongoose models
β β βββ routes/ # API routes
β β βββ middleware/ # Custom middleware
β β βββ utils/ # Utility functions
β βββ package.json
β
βββ .gitignore
- Node.js 18+ installed
- MongoDB Atlas account (or local MongoDB)
- npm or yarn package manager
-
Clone the repository
git clone <repository-url> cd yggdrasil-landing
-
Install all dependencies (root, client, and server)
npm run install:all
Or install manually:
npm install cd client && npm install cd ../server && npm install
-
Set up environment variables
Create
.envfile in theclientfolder:VITE_API_URL=http://localhost:5000/api
Create
.envfile in theserverfolder:PORT=5000 NODE_ENV=development MONGODB_URI=your_mongodb_connection_string EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USER=your_email@example.com EMAIL_PASSWORD=your_app_password CONTACT_EMAIL=contact@yggrasoft.com CORS_ORIGIN=http://localhost:3000
-
Seed the database (first time only)
cd server npm run seedThis will populate the database with initial domains and settings.
-
Start both frontend and backend together
npm run dev
- Server will run on http://localhost:5000
- Client will run on http://localhost:3000
Or run them separately:
# Terminal 1 - Backend npm run dev:server # Terminal 2 - Frontend npm run dev:client
npm run dev- Start both frontend and backend concurrentlynpm run dev:server- Start backend onlynpm run dev:client- Start frontend onlynpm run install:all- Install dependencies for root, client, and servernpm run build- Build both frontend and backend
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
npm run dev- Start development server with nodemonnpm run build- Compile TypeScript to JavaScriptnpm start- Run production servernpm run seed- Seed database with initial datanpm run lint- Run ESLint
- β Responsive design (320px to 2560px)
- β Smooth animations with Framer Motion
- β Particle background effects
- β Scroll-triggered animations
- β Dynamic domains showcase
- β Projects portfolio section
- β Contact form with email notifications
- β Newsletter subscription
- β Dynamic content from MongoDB
- β WCAG 2.1 Level AA accessibility
- β Reduced motion support
- β SEO optimized
- Helmet.js for security headers
- CORS configuration
- Input validation with express-validator
- Rate limiting on API endpoints
- Environment variable protection
- Chrome/Edge: Last 2 versions
- Firefox: Last 2 versions
- Safari: Last 2 versions
- Mobile Safari: iOS 13+
- Chrome Mobile: Last 2 versions
This is a private project for Yggrasoft Labs. For any questions or contributions, please contact the development team.
Copyright Β© 2025 Yggrasoft Labs. All rights reserved.
Inspired by Yggdrasil, the World Tree from Norse mythology, representing interconnected growth and support across different realms.