Skip to content

CS3203-Project/.github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 

Repository files navigation

Zia - Online Marketplace for Services

Version Node.js React NestJS PostgreSQL TypeScript Prisma Stripe Socket.io AWS Google Maps License GitHub stars GitHub forks GitHub issues GitHub pull requests GitHub last commit

Overview of the Project

An online platform designed to bridge the gap between service providers and customers in Sri Lanka. We are developing a SaaS application aiming to provide a selling platform for any kind of service (Printing services, Household works, sewing, tutoring, etc).

Input to the system: service provider details, service listings, booking requests, payments, and user communications.

Output to the system: booking confirmations, notifications, and a searchable catalog of services tailored to customer needs and geo location.

Objectives of the Project

  • Design and implement a robust web platform allowing service providers to market and manage their services and allowing customers to select reliable service providers according to their geo-location.
  • Provide a seamless booking, secure payment process, rating system for both customers and service providers, notification and communication system.
  • Develop a fully functional dashboard to manage several kinds of service categories dynamically.

The Need for the Project

Currently in Sri Lanka, there's no dedicated online marketplace for services. Talented and skillful service providers still have no idea about the possibilities of online marketing. So as a SaaS platform, Zia is aimed at filling those gaps.

Scope of the Project

The system will support three main user roles:

  • Service Providers: Create profiles, list and manage services, set prices and availability, communicate with customers, respond to reviews, rate customers.
  • Customers: Search and browse service listings, book and pay for services, communicate with providers, and rate their experiences and service providers.
  • Administrators: Manage users, service categories, monitor transactions, and maintain system integrity through a dedicated dashboard.

Deliverables

The primary deliverable is a responsive web application. This platform will feature:

  • User-friendly GUI for all user roles (Simple GUI since we are aiming for normal people).
  • Integration with Google Maps API for location-based service searches.
  • Secure payment gateway for handling transactions.
  • A comprehensive admin dashboard for system oversight.

Demo Video

YouTube

Click the YouTube badge above to watch the demo video (starts at 7 seconds).

Mobile View Tablet View PC View

Project Structure

This repository contains three main components:

  • Deployed_backend: The backend service built with Node.js, Express, Prisma, and PostgreSQL.
  • Deployed_Frontend: The frontend application built with React, Vite, and TypeScript.
  • Deployed_Com: The communication service built with NestJS for handling messaging and notifications.

Prerequisites

  • Node.js (>=18.0.0)
  • PostgreSQL
  • pnpm (for backend and frontend)
  • npm (for communication)

Installation

  1. Clone the repository:

    git clone https://github.com/CS3203-Project/Repo_name.git
    cd Repo_name
  2. Set up the backend:

    cd Deployed_backend
    pnpm install
    # Configure environment variables in .env file
    pnpm run build
  3. Set up the frontend:

    cd ../Deployed_Frontend
    pnpm install
  4. Set up the communication service:

    cd ../Deployed_Com
    npm install

Running the Application

Run Backend (Development)

cd Deployed_backend
pnpm run dev

Run Frontend (Development)

cd Deployed_Frontend
pnpm run dev

Run Communication (Development)

cd Deployed_Com
npm run start

Building the Application

Build Backend

cd Deployed_backend
pnpm run build

Build Frontend

cd Deployed_Frontend
pnpm run build

Build Communication

cd Deployed_Com
npm run build

Testing

Test Backend

cd Deployed_backend
pnpm run test

Test Frontend

cd Deployed_Frontend
pnpm run test

Test Communication

cd Deployed_Com
npm run test

Technologies Used

  • Backend: Node.js, Express, TypeScript, Prisma, PostgreSQL, Socket.io, Stripe, AWS S3/SES
  • Frontend: React, TypeScript, Vite, Tailwind CSS, Google Maps API, Stripe
  • Communication: NestJS, Socket.io, RabbitMQ, TypeORM
  • Deployment: (Add deployment details if applicable)

Contributing

Please read the contributing guidelines before making contributions.

License

This project is licensed under the ISC License.

Contact

For any questions or support, please contact the development team:

Developers

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors