Skip to content

paras1729kori/quick-task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick Task Master

Quick Task Master is a full-stack web application designed to help users efficiently manage their daily tasks. With an intuitive interface and robust backend, it allows users to create, update, and delete tasks seamlessly.


🚀 Features

  • User Authentication: Secure login and registration system.
  • Task Management: Create, read, update, and delete tasks.
  • Responsive Design: Optimized for both desktop and mobile devices.
  • Real-time Updates: Instant task updates without page reloads.
  • Filters: Filters to help your organise your tasks based on status and priority.
  • API Documentation: Interactive API docs via Swagger (WIP 😊)

🛠️ Tech Stack

  • Frontend: React.js, Vite, Tailwind CSS
  • Backend: Node.js with Express
  • Database: PostgreSQL with Prisma ORM
  • Authentication: JWT (JSON Web Tokens)
  • API Docs: Swagger
  • Containerization: Docker & Docker Compose

📦 Installation

Prerequisites

Ensure you have the following installed:

  • Node.js (v14 or higher)
  • npm or yarn
  • Docker & Docker Compose

Clone the Repository

git clone https://github.com/paras1729kori/quick-task.git
cd quick-task

Add Environment Variables

Inside root folder

cd client
touch .env

# .env content
VITE_API_URL=http://localhost:5555
cd server
touch .env

# .env content
POSTGRES_USER=<your_db_user>
POSTGRES_PASSWORD=<your_db_password>
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=<your_db_name>
DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
JWT_SECRET=
JWT_EXPIRATION=1d
JWT_RESET_SECRET=

Dockerized PostgreSQL Setup

Start PostgreSQL using Docker Compose:

docker-compose up -d

By default, the database will be available at:

Host: localhost
Port: 5432
User: <your_db_user>
Password: <your_db_password>
Database: <your_db_name>

Backend Setup

  1. Navigate to the backend directory:
cd server
  1. Install dependencies:
npm install / yarn install
  1. Run Prisma migrations:
npx prisma migrate dev
  1. Generate Prisma Client
npx prisma generate
  1. Start the backend server:
npm run start:dev

The backend server will be running on http://localhost:5555.
The API docs will be running on http://localhost:5555/api.

Frontend Setup

  1. Navigate to the frontend directory:
cd client
  1. Install dependencies:
npm install or yarn install
  1. Start the frontend server:
npm run dev

The frontend will be running on http://localhost:5173.

📱 Usage

  1. Open your browser and go to http://localhost:5173.
  2. Register a new account or log in with existing credentials.
  3. Start adding, editing, or deleting tasks as needed.

🧪 Running Tests

WIP 😊

🚀 Deployment

For deployment, consider using platforms like:

  • Frontend: Vercel
  • Backend: Railway
  • Database: Managed PostgreSQL on Railway

Ensure to set the appropriate environment variables in your deployment platform.

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-name).
  3. Make your changes.
  4. Commit your changes (git commit -am 'Add new feature').
  5. Push to the branch (git push origin feature-name).
  6. Create a new Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📬 Contact

For any questions or feedback, please open an issue on the GitHub repository.

🤞 Stay in touch

About

The smart, share-anywhere task completer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors