A task management application built with React, TypeScript, and Vite. This application allows users to manage tasks associated with different companies, with features like task completion tracking, company color coding, and data export capabilities.
- Task management with completion tracking
- Company management with color coding
- Show/hide completed tasks
- Export data to JSON and CSV formats
- Responsive design with dark mode support
- Local storage for data persistence
- Node.js (v16 or higher)
- npm (v7 or higher)
- Clone the repository:
git clone <repository-url>
cd task_list- Install dependencies:
npm install- Start the development server:
npm run devThe application will be available at http://localhost:5173
- Create a production build:
npm run buildThis will create a dist directory with the production-ready files.
The application can be deployed to any static hosting service like Vercel, Netlify, or GitHub Pages.
- Build the application:
npm run build- Deploy the contents of the
distdirectory to your hosting service.
- Build the application:
npm run build-
Copy the contents of the
distdirectory to your web server's public directory. -
Configure your web server (e.g., Nginx, Apache) to serve the static files:
Example Nginx configuration:
server {
listen 80;
server_name your-domain.com;
root /path/to/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}- Restart your web server.
- Create a Dockerfile in the project root:
FROM node:18-alpine as builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]- Create an nginx.conf file:
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
}- Build and run the Docker container:
docker build -t task-list .
docker run -p 80:80 task-listThe application currently doesn't require any environment variables. All data is stored in the browser's local storage.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some 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.