cesarbrancalhao / RamenGo

Technical test Red Ventures 2024.

Home Page:https://ramengo-front.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RamenGo

RamenGo is a food app built in Gin for Red Ventures' techincal test.

Check it live here!

Alt text


Table of Contents

  1. Getting Started
    • Client
    • Api
    • Cloud
  2. Tech Stacks
  3. Features

Client:

How to run client

Install NPM packages.

npm i

Create a .env file on the root folder and insert your x-api-key. Check .env.example for examples.

OBS: the client has placeholding objects to make sure it works if the server/connection is down, if you don't want this feature, you can go to placeholders file and comment/delete them.
If you don't set an API_KEY on the .env file, it will use the placeholders by default

Run the bundler.

npm run webpack
# If you dont have webpack installed you may need to run 'npm install -g webpack' first

I kept the Sass dist file for ease of use but you can start it with npm run sass

API:

How set up API

Install NPM packages.

npm i

Set up your docker container (you need to have Docker Desktop instlled).

npm run compose

After the initialization, migrate the models (this will insert the data too, change the script if you don't want it).

npm run migrate

Create a .env file IN THE API FOLDER and insert your x-api-key. Check .env.api for examples. Run the development server:

npm run api

You can use http://localhost:8080 in your API tool to test the API locally.

Cloud:

How use the webservice

Use https://ramengo-back.onrender.com to access the API.

WARNING: Due to Render's nature, instances can spin down and delay requests by 50 seconds or more, in case you're experiencing timeouts, try again a minute or two later.

Note: Some functionalities are intentionally disabled for safety purposes. Use the software on localhost to access all features

  • Mobile Responsible Design: The webpages are designed to be visually pleasing and responsive, ensuring an optimal UX across any devices.

  • Clean Architecture: Using modular and distinctive layers each with it's own responsibility, the application ensures maintainability and scalability, as commponents become flexible and easy to test.

  • API-First Development: The application is designed around RESTful principles and the API structure, which ensures a robust app, improving efficiency.

  • Environment Configuration: Supports environment-specific configurations through environmental variables, allowing for flexible deployment across different environments without hardcoding sensitive information.

  • Continuous Integration/Deployment: Set up CI/CD pipelines using GitHub, Vercel and Render, automating the build, test, and deployment processes for faster and safer releases.

  • Database Abstraction Layer: Utilizes GORM library for abstracting database operations and simplifying CRUD operations while offering powerful query capabilities and migrations.


Alt text

About

Technical test Red Ventures 2024.

https://ramengo-front.vercel.app/

License:MIT License


Languages

Language:Go 45.1%Language:JavaScript 25.6%Language:SCSS 24.3%Language:HTML 5.0%