Code Monkey home page Code Monkey logo

ts-fullstack-template-old's Introduction

TS Fullstack Template

This is a template project for typescript full-stack project.

Technologies

  • TypeScript
  • React
  • Express
  • Mongo DB
  • electron
  • Prisma (ORM)
  • jest (testing lib)
  • eslint
  • Apollo server
  • Apollo client
  • GraphQL Code Generator (auto generate TypeScript types)
  • vite (build tool)
  • tailwind (css)

How to get started

just copy and paste the script below to your terminal, replace <PROJECT NAME> with your arbitrary project name, and execute it.

PROJECT_NAME=<PROJECT NAME>

WORKSPACE_URL="https://raw.githubusercontent.com/ryuichi24/ts-fullstack-template/main/init.sh"

curl -s ${WORKSPACE_URL} | bash -s -- ${PROJECT_NAME} \
    && cd ${PROJECT_NAME}

once you set up the project, just turn on docker in your machine and enter the dev container. and then execute the command below:

npm install

You need to update some of the environmental variables in ./packages/server/.env.development file such as:

  • DATABASE_URL
  • MAILER_HOST
  • MAILER_PORT
  • MAILER_AUTH_USER
  • MAILER_AUTH_PASSWORD

you can replace DATABASE_URL with your own mongodb connection string but I suggest you use MongoDB atlas because Prisma requires mongo db replica to make it work.

As for MAILER_*, you can of course, use your own mail server but to make it simple, you can use nodemailer dummy server, to make a test account, you can run the command below:

npm run createNodemailerTestAccount:server

you can find the credentials at ./packages/server/nodemailer-test-account.json. and update .env.development file accordingly.

once everything is setup, you can finally run the project like:

Server

npm run dev:server

React front end

npm run dev:web

enjoy!

ts-fullstack-template-old's People

Contributors

ryuichi24 avatar

Stargazers

 avatar  avatar Takuma Masaki avatar

Watchers

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