Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
REST API for Eat-Asado.
Translation pending
Developer toolsGitHub @IgnacioCurtiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Express.js REST API for Food-Spot
All dates are Argentina local time (UTC-3, no DST) stored as if they were UTC: an event at 21:00 in Buenos Aires is saved as 21:00Z, and clients display the stored value without converting it.
On the backend, compare against "now" with nowArgentina() (src/utils/dates.ts), and build wall-clock times (for example, the 20:00 penalization reminder) with the UTC setters, so results don't depend on the server's time zone.
References:
| Prefix | Endpoint | Description | Type | Parameters | Auth | Body requirements | Response |
|---|---|---|---|---|---|---|---|
| events | getEvents | Gets all events in the database | GET | Yes | [Event] | ||
| events | getPublicEvents | Gets all non private events with public data only sorted by date of creation in descendent order | GET | No | [Event] (does not return organizer, members is just the amount of members, chef is just the chef name), ratings is an object with avgScore(Number) and ratingsAmount(Number) | ||
| events | getPublicAndPrivateEvents | Gets all public events and all private events that include the user with public data only sorted by date of creation in descendent order | GET | Yes | [Event] (does not return organizer, members is just the amount of members, chef is just the chef name), ratings is an object with avgScore(Number) and ratingsAmount(Number) | ||
| events | getEventById/:id | Gets an event by its id (12 byte Object ID) | GET | id | Yes | Event | |
| events | getMembersAndReceiptsInfo/:event | Returns a list of users and their transferReceipt information | GET | event | Yes | [{userId(ObjectId), userName(String), userLastName(String), specialDiet(String), transferReceipt(ObjectId or null), hasReceiptApproved(Boolean), hasUploaded(Boolean)}] | |
| events | getMemberIndividualCost/:user/:event | Gets a user's cost by event | GET | user, event | Yes | number | |
| events | createEvent | Creates an event | POST | Yes | title: String description: String datetime: Date memberLimit: Number (Integer) members: [ObjectId of a member] organizer: ObjectId of a member (chef: ObjectId of a member) (shoppingDesignee: ObjectId of a member)isPrivate: Booleanpenalization: NumberpenalizationStartDate: Date | Event | |
| events | getMembersAmount/:event | Returns a list of users, with the amount to pay and the receiver of that payment | GET | event | Yes | ||
| events | subscribeToAnEvent/:id/:event | Subscribes a user by id for a certain event providing the event's id (12 byte Object ID) | PUT | id, event | Yes and user token needs to be the user to subscribe | ||
| events | unsubscribeFromEvent/:id/:event | Removes a user by id for a certain event providing the event's id (12 byte Object ID) | PUT | id, event | Yes and user token needs to be the user to remove | ||
| events | editRoles/:id | Edits an event's chef and shopping designee by its id (12 byte Object ID) | PUT | id | Yes | chef: ObjectId of a member shoppingDesignee: ObjectId of a member | |
| events | editEvent/:id | Edits an event by its id (12 byte Object ID) | PUT | id | Yes and user token needs to be the organizer's | title: Stringdescription: Stringdatetime: Date memberLimit: Number (Integer) isPrivate: Boolean state: String with limited values {closed, available, readyforpayment, cancelled, finished} penalization: NumberpenalizationStartDate: Date | |
| events | deleteEvent/:id | Deletes an event by its id (12 byte Object ID) | DELETE | id | Yes and user token needs to be the organizer's | ||
| images | getImage/:id | Gets an image by its id (12 byte Object ID) | GET | id | Yes | ||
| - | login | Logs a user and returns the auth token | POST | No | email: String password: String | ||
| options | getMembersWhoHaventVoted/:event | Returns the count of event members who haven't voted for any option | GET | event | Yes | count: Number | |
| options | createOption/:event | Creates a new option for an event | POST | Yes | title: Stringparticipants: [ObjectId] | Option | |
| options | editOption/:id | Edits an option by its id | PUT | id | Yes | title: Stringparticipants: [ObjectId] | Option |
| options | deleteOption/:id | Deletes an option by its id and removes it from the event | DELETE | id | Yes | Option | |
| purchaseReceipts | getPurchaseReceiptsByEvent/:event | Gets all purchaseReceipts from an event providing the event's id (12 byte Object ID) | GET | event | Yes and user token needs to be an event member | ||
| purchaseReceipts | getPurchaseReceiptById/:id/:event | Gets a single purchaseReceipt by id for a certain event providing the event's id (12 byte Object ID) | GET | id, event | Yes and user token needs to be an event member | ||
| purchaseReceipts | createPurchaseReceipt/:event | Creates a purchaseReceipt for a certain event | POST | event | Yes and user token needs to be the shoppingDesignee's | description: String amount: Number | |
| purchaseReceipts | assignMembersToReceipt | Assigns members to purchaseReceipts given its id (12 byte Object ID) | PUT | id | Yes | receipt: Array of custom objects with "id" (purchaseReceipt id) and "participants" (Array of participants id) | |
| purchaseReceipts | uploadFile/:purchaseReceipt | Uploads a file for a purchaseReceipt | POST | purchaseReceipt | Yes | file: png/jpeg/pdf | |
| purchaseReceipts | deletePurchaseReceipt/:id/:event | Deletes a purchaseReceipt by id (12 byte Object ID) | DELETE | id | Yes and user token needs to be the shoppingDesignee's | ||
| password | forgot | Updates verification code for password recovery and sends the recovery email | POST | No | email: String | ||
| password | verifyCode | Verifies if the code for password recovery is correct | PUT | No | verificationCode: String email: String | ||
| password | recover | Changes user's password providing the correct verification code | PUT | No | email: String verificationCode: String password: String | ||
| ratings | getRatingFromUser/:event/:user | Gets the rating made by a user for a certain event | GET | event, user | Yes | ||
| ratings | createRating/:event/:user | Creates (or modifies if it's been created already) a rating made by a user for a certain event | POST | event, user | Yes | score: Integer with limited values {1, 2, 3, 4, 5} | , |
| transferReceipts | getTransferReceiptsByEvent/:event | Gets all transferReceipts from an event providing the event's id (12 byte Object ID) | GET | event | Yes | ||
| transferReceipts | getTransferReceiptsById/:id | Gets a single transferReceipt by its id (12 byte Object ID) | GET | id | Yes | ||
| transferReceipts | uploadFile/:transferReceipt | Uploads a file for a transferReceipt | POST | transferReceipt | Yes | file: png/jpeg/pdf | |
| transferReceipts | createTransferReceipt/:event | Creates a transferReceipt for a certain event | POST | event | Yes | (description: String) amount: Number user: ObjectId of a member (paymentMethod: String) DON'T SEND hasPaid: Boolean or send it as false | |
| transferReceipts | approvePaymentWithoutReceipt/:event/:user | Creates and approves a transferReceipt for a certain event for a user that hasn't uploaded a receipt yet | POST | event | Yes | ||
| transferReceipts | approveTransferReceipt/:id/:event | Approves a single transferReceipt by its id (12 byte Object ID) | PUT | id, event | Yes and user token needs to be the shoppingDesignee | ||
| transferReceipts | deleteTransferReceipt/:id | Deletes a transferReceipt by its id (12 byte Object ID) | DELETE | id | Yes and user token needs to be the receipt owner | ||
| users | getUsers | Gets all users in the database | GET | Yes | |||
| users | getUserById/:id | Gets a user by its id (12 byte Object ID) | GET | id | Yes | ||
| users | isDebtor/:id | If a user hasn't paid an event it will return said event. If not it will return null | GET | id | Yes | ||
| users | hasPendingTransfers/:id | Returns the events where a user has pending transfer receipts to approve | GET | id | Yes | [ObjectId] | |
| users | register | Creates a user | POST | No | name: String lastName: String email: String password: String profilePicture: String [specialDiet: String with limited values {celiac, hypertensive, vegan, vegetarian}] (cbu: String) (alias: String) | ||
| users | editProfilePicture/:id | Modifies a user's profile picture | PUT | id | Yes and user token needs to be the user to change | file: png/jpeg | |
| users | editUser/:id | Edits a user by its id (12 byte Object ID) | PUT | id | Yes and user token needs to be the user to edit | name: String lastName: String profilePicture: String [specialDiet: String with limited values {celiac, hypertensive, vegan, vegetarian}] cbu: String alias: String | |
| users | deleteUser/:id | Deletes a user by id (12 byte Object ID) | DELETE | id | Yes and user token needs to be the user to delete |