Skip to content

devi5040/Juice_Talkies_api

Repository files navigation

Juice Talkies API

Badge Badge


2. Table of Contents

  1. Project Overview/Purpose
  2. Features/Functionality
  3. Tech Stack
  4. Installation/setup instructions
  5. Config/Environment Variables
  6. Tests
  7. Deployment Instructions
  8. Coding standards/Linting
  9. License
  10. Author details

3. Project Overview/Purpose

The Juice Talkies API is a RESTful API built to manage various aspects of a juice bar or similar establishment. This project aims to provide a robust and scalable backend solution for efficiently managing products, categories, orders, bills, and user accounts. It targets business owners and managers who need a reliable system to streamline their operations and gain valuable insights into their business performance. This API solves the problem of managing business operations manually, providing automation and data-driven insights.


4. Features/Functionality

  • User Management: Secure user authentication and authorization.
  • Product Management: Add, update, delete, and search for products. Includes image upload functionality.
  • Category Management: Manage product categories, including adding, updating, and deleting categories.
  • Order Management: Create, retrieve, update, and manage customer orders.
  • Bill Generation: Generate bills for completed orders.
  • Dashboard Analytics: Provides summary data on orders, revenue, and top-selling items.
  • Search Functionality: Allows searching for products by name.

5. Tech Stack

  • Node.js: Server-side JavaScript runtime environment.
  • Express.js: Web application framework for Node.js.
  • Sequelize: Object-Relational Mapper (ORM) for database interaction.
  • Firebase: Authentication and potentially other backend services.
  • AWS S3: For image storage.
  • MeiliSearch: For product search.
  • Swagger: API documentation generation.
  • Winston: Logging library.
  • Joi: Validation library.

6. Installation/setup instructions

  1. Clone the repository:
    git clone <repository url>
  2. Install dependencies:
    npm install
  3. Set up environment variables (see below).
  4. Run the database migrations (if applicable, instructions would be provided here based on your database setup).
  5. Start the server:
    npm start

7. Config/Environment Variables

Create a .env file in the root directory and add the following environment variables:

  • DATABASE_URL: Your database connection string.
  • PORT: The port number for the server to listen on.
  • (Other environment variables required for Firebase, AWS, and MeiliSearch)

8. Tests

Run integration and unit tests:

npm test

9. Deployment Instructions

  1. Build the Docker image:
    docker build -t juice-talkies-api .
  2. Run the Docker container:
    docker-compose up -d

10. Coding standards/Linting

The project uses ESLint and Prettier to maintain code quality and consistency. Run linting:

npm run lint

11. License

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


12. Author details

Deviprasad Rai P dpraidola@gmail.com

About

A Node.js + Express REST API backend for Juice Talkies Puttur, a juice and snacks outlet. This API manages menu items, categories, orders, and billing with MySQL integration. Designed for scalability, performance, and seamless integration with mobile or web apps.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors