Giter VIP home page Giter VIP logo

share-it-app's Introduction

Share-it

English

Table of Contents

English

Spanish

Screenshots

Full-screen view.

share-it screenshots

Developers

List of developers who have contributed to this project:

Introduction

Share-it is a Splitwise clone created with:

  • Next.js
  • TypeScript
  • CSS
  • SQLite

Available Scripts

In this project, you can run the following scripts:

Script Description
npm run dev Run the application in development mode.
npm run start Build the project for production mode within the build folder
npm run lint Run the linter

Getting Started

Clone the project:

git clone https://github.com/JorgeCoronilla/share-it-app.git

Enter the project:

cd share-it-app

Install dependencies:

npm install

Create a .env file and configure the environment variables:

BASE_URL=
JWT_SECRET_KEY=
NODEMAILER_PASS=
NODEMAILER_EMAIL=
DB_URL=
DB_AUTH_TOKEN=

Important: The project uses an sqlite database

Create a database on Turso

Once your account is created, you can access the Turso CLI from the console. Installation

npm install tursodatabase/tap/turso

Login

turso auth login

Create database

turso db create my-db

Create tables: first enter in the shel and the copy the script from /src/app/lib/db/dbScripts.sql

turso db shell my-db

Get the URL

turso db show --url my-db

Create a token

turso db tokens create my-db

Finally add the url and the token into the .env file.

Project Structure

share-it-app
|
├── public/
│  └─── icons/
├── .next/
├── node_modules/
├── public/
├── prc/
│   ├───(app-pages)/
│   │   ├─── add/
│   │   ├─── about/
│   │   ├─── dashboard/
│   │   ├─── login/
│   │   └─── register/
│   │ 
│   ├─── api/
│   │ 
│   ├─── lib/
│   │   ├─── db/
│   │   ├─── hooks/
│   │   ├─── services/
│   │   ├─── auth.ts
│   │   ├─── constants.ts
│   │   ├─── definitions.ts
│   │   └─── validations.ts
│   │ 
│   ├─── ui/
│   │   ├─── components/
|   │   │   ├─── about/
|   │   │   ├─── dashboard/
|   │   │   ├─── global/
│   │   │   └─── home/
│   │   │ 
│   │   ├─── styles/
│   │   ├─── globals.css
│   │   └─── favicon.ico
│   │ 
│   └─── middleware.ts
├─── .env
├─── eslint.json
├─── package.json
└─── tsconfig.json

Español

Tabla de contenidos

Capturas de pantalla

Vista a pantalla completa.

share-it screenshots

Desarrolladores

Lista de desarrolladores que han contrribuido a este proyecto:

Introducción

Share-it es un clon de Splitwise creado con:

  • Nextjs
  • Typescript
  • Css
  • Sqlite

Scripts disponibles

En este proyecto se pueden ejecutar los siguientes scripts:

Script Descriptción
npm run dev Ejecuta la aplicación en modo de desarrollo.
npm run start Construye el proyecto para modo producción dentro de la carpeta build
npm run lint Ejecuta el linter

Comenzar

Clonar el proyecto:

git clone https://github.com/JorgeCoronilla/share-it-app.git

Entrar en el proyecto:

cd share-it-app

Instalar dependencias:

npm install

Crear un archivo .env y configurar las variables de entorno:

BASE_URL=
JWT_SECRET_KEY=
NODEMAILER_PASS=
NODEMAILER_EMAIL=
DB_URL=
DB_AUTH_TOKEN=

Importante: El proyecto usa una db sqlite

Crear una base de datos en Turso

Una vez creada tu cuenta puedes acceder desde la consola al CLI de Turso. Instalación

install tursodatabase/tap/turso

Login

turso auth loign

Crea la db

turso db create my-db

Crea las tablas desde el shel

turso db shell my-db

Obtén la url

turso db show --url my-db

Crea un token

turso db tokens create my-db

Estructura del proyecto

share-it-app
|
├── public/
│  └─── icons/
├── .next/
├── node_modules/
├── public/
├── prc/
│   ├───(app-pages)/
│   │   ├─── add/
│   │   ├─── about/
│   │   ├─── dashboard/
│   │   ├─── login/
│   │   └─── register/
│   │ 
│   ├─── api/
│   │ 
│   ├─── lib/
│   │   ├─── db/
│   │   ├─── hooks/
│   │   ├─── services/
│   │   ├─── auth.ts
│   │   ├─── constants.ts
│   │   ├─── definitions.ts
│   │   └─── validations.ts
│   │ 
│   ├─── ui/
│   │   ├─── components/
|   │   │   ├─── about/
|   │   │   ├─── dashboard/
|   │   │   ├─── global/
│   │   │   └─── home/
│   │   │ 
│   │   ├─── styles/
│   │   ├─── globals.css
│   │   └─── favicon.ico
│   │ 
│   └─── middleware.ts
├─── .env
├─── eslint.json
├─── package.json
└─── tsconfig.json

share-it-app's People

Contributors

jorgecoronilla 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.