A sleek, modern task management application built with Angular and Node.js, featuring Google OAuth authentication and a beautiful, responsive design system.
- 🔐 Authentication: Email/password and Google OAuth login
- 📱 Responsive Design: Modern, mobile-first UI with smooth animations
- 👨👩👧👦 Family Management: Multi-family support with role-based access
- 📋 Task Management: Create, edit, and track tasks with priorities and due dates
- 📅 Appointments: Schedule and manage family appointments
- 📇 Contacts: Manage family and emergency contacts
- 🩺 Doctors: Keep track of family healthcare providers
- 📁 Documents: Store and organize important documents
- 🎨 Modern UI: Beautiful design system with consistent styling
- Angular 18 - Modern web framework
- TypeScript - Type-safe development
- CSS Custom Properties - Modern design system
- Responsive Design - Mobile-first approach
- Node.js - JavaScript runtime
- Express.js - Web framework
- SQLite - Lightweight database
- Passport.js - Authentication middleware
- JWT - Secure token-based authentication
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone <repository-url> cd task-manager
-
Install dependencies
# Install frontend dependencies npm install # Install backend dependencies cd backend npm install cd ..
-
Set up environment variables
# Copy the example environment file cp backend/.env.example backend/.env # Edit the environment file with your configuration nano backend/.env
-
Start the development servers
# Terminal 1: Start the backend server cd backend && npm start # Terminal 2: Start the frontend development server npm start
-
Access the application
- Frontend: http://localhost:4200
- Backend API: http://localhost:3000
-
Install Vercel CLI
npm i -g vercel
-
Build the application
npm run build
-
Deploy to Vercel
vercel --prod
-
Build the application
npm run build
-
Deploy the dist folder
- Drag and drop the
dist/task-manager
folder to Netlify - Or connect your GitHub repository for automatic deployments
- Drag and drop the
-
Prepare backend for deployment
cd backend # Ensure your .env file has production values
-
Deploy to Railway
# Install Railway CLI npm install -g @railway/cli # Login and deploy railway login railway deploy
Create a .env
file in the backend
directory:
# Database
DATABASE_URL=./task_manager.db
# JWT
JWT_SECRET=your-super-secret-jwt-key
# Google OAuth (Optional)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
# CORS
CORS_ORIGIN=http://localhost:4200
# Session
SESSION_SECRET=your-session-secret
# Frontend URL (for OAuth redirects)
FRONTEND_URL=http://localhost:4200
- Go to Google Cloud Console
- Create a new project or select existing one
- Enable Google+ API
- Create OAuth 2.0 credentials
- Add authorized redirect URIs:
http://localhost:3000/api/auth/google/callback
(development)https://your-domain.com/api/auth/google/callback
(production)
- Copy Client ID and Secret to your
.env
file
The application is fully responsive and works great on mobile devices. You can also create a Progressive Web App (PWA) version by adding a web app manifest.
The application uses a modern design system with:
- CSS Custom Properties for consistent theming
- Responsive breakpoints for all screen sizes
- Smooth animations and micro-interactions
- Accessible color contrasts and typography
- Modern gradients and shadows
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Angular team for the amazing framework
- Google for OAuth authentication
- The open-source community for inspiration
Made with ❤️ and modern web technologies