Platform Terlengkap untuk Dokumentasi, Kesehatan, Dukungan, & Perhatian Ibu Hamil
π Live Demo β’ π± Mobile Preview β’ π Documentation
Velora adalah platform digital komprehensif yang dirancang khusus untuk mendampingi perjalanan kehamilan ibu hamil di Indonesia. Dengan kombinasi teknologi modern dan pendekatan yang berpusat pada pengguna, Velora menyediakan solusi terintegrasi untuk dokumentasi, monitoring kesehatan, dan dukungan emosional selama masa kehamilan.
Visi: Menjadi sahabat digital terpercaya untuk setiap ibu hamil dalam menjalani perjalanan kehamilan yang lebih bermakna.
Misi:
- πΈ Menyediakan platform dokumentasi visual perjalanan kehamilan
- π₯ Memberikan tools monitoring kesehatan yang mudah dan akurat
- π Menyajikan konten edukatif berbasis riset medis terpercaya
- π€ Menghadirkan sistem prediksi risiko kesehatan dengan AI
- π Membangun komunitas dukungan untuk kesehatan mental ibu hamil
|
|
Framework : Next.js 14 (App Router)
Language : TypeScript
Styling : Tailwind CSS + Custom Components
UI Library : Aceternity UI, Tabler Icons
Animation : Framer Motion
State Mgmt : React Context API
Authentication: Custom JWT + Context
Runtime : Node.js + Express.js
Database : Supabase (PostgreSQL)
Storage : Supabase Storage
AI/ML : Python ML Model (84.21% accuracy)
File Upload : Multer + Sharp (image processing)
Deployment : Vercel (Serverless)
Frontend Host : Vercel
Backend Host : Vercel (Serverless Functions)
Database : Supabase Cloud
Storage : Supabase Storage
CDN : Vercel Edge Network
Monitoring : Vercel Analytics
Node.js 18.0.0+
npm 9.0.0+
Git
- Clone Repository
git clone https://github.com/Hidayattt24/fe-velora.git
cd fe-velora
- Install Dependencies
npm install
- Environment Setup
cp .env.example .env.local
- Configure Environment Variables
# Velora Frontend Environment Variables
# API Configuration
NEXT_PUBLIC_API_URL=https://api-velora.vercel.app
# ML API Configuration
NEXT_PUBLIC_ML_API_URL=https://dayattttt2444-maternal-health-risk.hf.space
# Development settings
NEXT_PUBLIC_ENV=development
- Run Development Server
npm run dev
- Open Application
http://localhost:3000
fe-velora/
βββ π src/
β βββ π app/ # Next.js App Router
β β βββ π auth/ # Authentication pages
β β β βββ login/ # Login page
β β β βββ register/ # Registration page
β β βββ π main/ # Protected main application
β β β βββ diagnosa/ # AI Diagnosis module
β β β βββ gallery/ # Photo gallery & upload
β β β βββ journal/ # Articles & reading
β β β βββ profile/ # User profile management
β β β βββ timeline/ # Pregnancy timeline
β β βββ globals.css # Global styles
β β βββ layout.tsx # Root layout
β β βββ page.tsx # Landing page
β βββ π components/ # Reusable components
β β βββ π auth/ # Auth-related components
β β βββ π sections/ # Landing page sections
β β βββ π ui/ # UI components
β β βββ MainNav.tsx # Main navigation
β β βββ Navbar.tsx # Landing navbar
β β βββ SplashScreen.tsx # Loading screen
β βββ π lib/ # Utilities & configurations
β βββ π api/ # API service functions
β βββ π contexts/ # React contexts
β βββ π data/ # Static data & constants
β βββ π hooks/ # Custom React hooks
β βββ utils.ts # Utility functions
βββ π public/ # Static assets
β βββ π landing/ # Landing page assets
β βββ π main/ # Application assets
β βββ favicon.ico
βββ π next.config.ts # Next.js configuration
βββ π tailwind.config.ts # Tailwind CSS config
βββ π package.json # Dependencies
βββ π README.md # Documentation
Primary Pink : #D291BC /* Brand primary */
Light Pink : #FFE3EC /* Backgrounds & accents */
Text Primary : #1F2937 /* Main text */
Text Secondary : #6B7280 /* Supporting text */
Success Green : #10B981 /* Success states */
Warning Yellow : #F59E0B /* Warning states */
Error Red : #EF4444 /* Error states */
Font Family : Inter (System font stack)
Headings : 600-700 weight
Body Text : 400-500 weight
Code/Mono : JetBrains Mono
Mobile : 0px - 640px
Tablet : 641px - 1024px
Desktop : 1025px - 1280px
Large Desktop : 1281px+
// Example: Komponen dengan TypeScript
interface ComponentProps {
title: string;
isLoading?: boolean;
onSubmit: (data: FormData) => void;
}
export function Component({
title,
isLoading = false,
onSubmit,
}: ComponentProps) {
// Component logic
}
// Example: Service function
export const apiService = {
async getData(id: string): Promise<ApiResponse<Data>> {
const response = await fetch(`${API_BASE_URL}/data/${id}`);
if (!response.ok) throw new Error("Failed to fetch");
return response.json();
},
};
// Example: Context usage
const { user, updateUser, isAuthenticated } = useAuth();
- Connect Repository
# Install Vercel CLI
npm install -g vercel
# Login and deploy
vercel --prod
- Environment Variables Set di Vercel Dashboard:
NEXT_PUBLIC_API_URL=https://api-velora.vercel.app
- Build Settings
{
"buildCommand": "npm run build",
"outputDirectory": ".next",
"installCommand": "npm install"
}
# Build production
npm run build
# Start production server
npm start
# Unit tests
npm run test
# E2E tests
npm run test:e2e
# Coverage report
npm run test:coverage
# Lighthouse audit
npm run audit
# Bundle analysis
npm run analyze
- LCP (Largest Contentful Paint): < 2.5s β‘
- FID (First Input Delay): < 100ms β‘
- CLS (Cumulative Layout Shift): < 0.1 β‘
- First Load JS: 102 kB (Excellent)
- Page Components: ~50-80 kB average
- Images: WebP/AVIF optimized
- Performance: 95+ π’
- Accessibility: 100 π’
- Best Practices: 100 π’
- SEO: 100 π’
Kami menyambut kontribusi dari komunitas! Ikuti langkah berikut:
- Fork repository
- Create feature branch (
git checkout -b feature/AmazingFeature
) - Commit changes (
git commit -m 'Add some AmazingFeature'
) - Push to branch (
git push origin feature/AmazingFeature
) - Open Pull Request
- β TypeScript strict mode
- β ESLint + Prettier
- β Conventional Commits
- β Component documentation
- β Test coverage > 80%
- Deskripsi lengkap perubahan
- Screenshots untuk UI changes
- Test results
- Performance impact assessment
![]() Hidayat Nur Hakim @Hidayattt24 UI/UX Designer, Frontend Developer, Backend Developer |
![]() Tiara Agustin @tiaraagustinn Creative Copywriter, Content Strategist, Proposal Writer |
π¨ Hidayat Nur Hakim - Tech Lead & Full-Stack Developer
- π¨ UI/UX Design & Prototyping
- βοΈ Frontend Development (Next.js + TypeScript)
- π§ Backend Development (Node.js + Express)
- ποΈ Database Design & API Architecture
- π DevOps & Deployment Strategy
βοΈ Tiara Agustin - Content Strategist & Creative Lead
- β¨ Creative Copywriting & Brand Voice
- π‘ Product Ideation & User Research
- π Content Strategy & Article Writing
- π Business Proposal & Documentation
- π― User Experience Content Design
Project ini dilisensikan di bawah MIT License.
MIT License
Copyright (c) 2024 Velora Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π§ Email: [email protected]
- π¬ Discord: Velora Community
- π§ Email: [email protected]
- π± WhatsApp: +62 812-3456-7890
- π Website: velora-lake.vercel.app
- Next.js - React framework
- Tailwind CSS - Utility-first CSS
- Framer Motion - Animation library
- Tabler Icons - Beautiful icons
- Supabase - Backend as a Service
- Dribbble - Design inspiration
- Figma Community - UI components
- Material Design - Design principles
- Ikatan Bidan Indonesia (IBI)
- Perkumpulan Obstetri dan Ginekologi Indonesia (POGI)
- World Health Organization (WHO)
- American College of Obstetricians and Gynecologists (ACOG)
Dibuat dengan π untuk ibu hamil Indonesia
β Star Repository β’ π Report Bug β’ π‘ Request Feature
Β© 2025 Velora Team. All rights reserved.