/projectx

ProjectX aims to simplify financial management with a user-friendly interface and robust backend

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

Start at full speed with Projectx !

Twitter License

Introduction · Installation · Tech Stack + Features · Author · Credits


Introduction

Lets goooo - Next.js 14, Prisma, Planetscale, Auth.js, Resend, React Email, Shadcn/ui, and Stripe.
All seamlessly integrated with the Projectx to accelerate the development.

Installation

Clone & create this repo locally with the following command:

git clone https://github.com/meglerhagen/projectx.git
  1. Install dependencies using pnpm:
yarn install
  1. Copy .env.example to .env and update the variables.
cp .env.example .env.local
  1. Input everything you need for the env.

  2. Start the development server:

yarn dev

Database

This project uses MySQL database on PlanetScale. To setup a DB for your local dev:

  1. Create a free account and a new Database
  2. From the dashboard, create a branch and click "Connect" button.
  3. Hit Create password and select Prisma in Connect with dropdown
  4. Copy the url to .env.local file
  5. run yarn run prisma:push (Be mindful prisma migrate won't work because it requires more privileges for the database user).

You can also use docker-compose to have a Mysql database locally, instead of relying on PlanetScale:

  1. Enter MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_USER and MYSQL_PASSWORD values in .env.local.
  2. run docker-compose --env-file .env.local up to start the DB.
  3. run yarn run prisma:push.

Email provider

This project uses Resend to handle transactional emails. You need to add create an account and get an api key needed for authentication.

Please be aware that the Resend is designed to send test emails exclusively to the email address registered with the account, or to delivered@resend.dev, where they are logged on their dashboard.

The default setting for TEST_EMAIL_ADDRESS is delivered@resend.dev but you have the option to change it to the email address that is associated with your Resend account.

Roadmap

  • Initial setup
  • Start removing template
  • Update UI to match the product
  • XXXXXXXX

Tech Stack + Features

Frameworks

  • Next.js – React framework for building performant apps with the best developer experience
  • Auth.js – Handle user authentication with ease with providers like Google, Twitter, GitHub, etc.
  • Prisma – Typescript-first ORM for Node.js
  • React Email – Versatile email framework for efficient and flexible email development

Platforms

  • Vercel – Easily preview & deploy changes with git
  • PlanetScale – A cutting-edge database platform for seamless, scalable data management
  • Resend – A powerful email framework for streamlined email development

UI

  • Tailwind CSS – Utility-first CSS framework for rapid UI development
  • Shadcn/ui – Re-usable components built using Radix UI and Tailwind CSS
  • Framer Motion – Motion library for React to animate components with ease
  • Lucide – Beautifully simple, pixel-perfect icons
  • next/font – Optimize custom fonts and remove external network requests for improved performance
  • ImageResponse – Generate dynamic Open Graph images at the edge

Contributing

We love our contributors! Here's how you can contribute:

  • Open an issue if you believe you've encountered a bug.
  • Make a pull request to add new features/make quality-of-life improvements/fix bugs.

Repo Activity

Nextify repo activity – generated by Axiom