Coder Social home page Coder Social logo

enricrypto / giftme-backend Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 58 KB

Gift Me is an app service that enables the creation and management of groups and wishlists, allowing users to add and track gifts. Built with Node.js, Express, and Prisma, and utilizing Supabase for authentication, this backend provides robust APIs for seamless user interaction and gift management.

JavaScript 100.00%

giftme-backend's Introduction

Gift Me Backend

Welcome to the backend repository for Gift Me, an app designed to manage the creation of groups, wishlists, and the addition of gifts to those wishlists. This app helps users keep track of their gift-giving participation within various groups.

Table of Contents

Introduction

Gift Me is a backend service that supports the management of groups and wishlists, allowing users to add and track gifts within these lists. The application leverages Supabase for authentication and is built using Node.js, Express, and Prisma (ORM) for robust and efficient backend operations.

Features

  • Group Management: Create and manage groups of users.
  • Wishlist Management: Create and manage wishlists for each group.
  • Gift Tracking: Add and track gifts in wishlists.
  • User Authentication: Secure user login and registration using Supabase.

Tech Stack

  • Node.js: JavaScript runtime for building scalable network applications.
  • Express: Web framework for Node.js to create robust APIs.
  • Prisma: Modern ORM for Node.js and TypeScript.
  • Supabase: Backend-as-a-Service (BaaS) providing authentication, database, and storage services.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/gift-me-backend.git
    cd gift-me-backend
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root directory and add the following variables:

    DATABASE_URL=your_database_url
    SUPABASE_URL=your_supabase_url
    SUPABASE_KEY=your_supabase_key
    
  4. Run database migrations:

    npx prisma migrate dev
  5. Start the server:

    npm start

Configuration

The application relies on environment variables for configuration. Ensure that you have a .env file with the necessary configurations.

Usage

After setting up the project, you can start the server and use the provided API endpoints to manage groups, wishlists, and gifts.

API Endpoints

Authentication

  • POST /auth/signup: Register a new user.
  • POST /auth/login: Authenticate a user.

Groups

  • POST /groups: Create a new group.
  • GET /groups: Get a list of all groups.
  • GET /groups/:id: Get details of a specific group.
  • PUT /groups/:id: Update a group.
  • DELETE /groups/:id: Delete a group.

Wishlists

  • POST /wishlists: Create a new wishlist.
  • GET /wishlists: Get a list of all wishlists.
  • GET /wishlists/:id: Get details of a specific wishlist.
  • PUT /wishlists/:id: Update a wishlist.
  • DELETE /wishlists/:id: Delete a wishlist.

Gifts

  • POST /gifts: Add a new gift to a wishlist.
  • GET /gifts: Get a list of all gifts.
  • GET /gifts/:id: Get details of a specific gift.
  • PUT /gifts/:id: Update a gift.
  • DELETE /gifts/:id: Delete a gift.

Contributing

We welcome contributions to enhance the functionality of Gift Me. Please follow these steps to contribute:

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

License

This project is licensed under the MIT License. See the LICENSE file for more information.


Thank you for using Gift Me! If you have any questions or need further assistance, feel free to open an issue or contact the project maintainers.

image

giftme-backend's People

Contributors

enricrypto avatar nvr-2023 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.