Patra is the open-source digital card generator for students and professionals. Create and share your digital card with a unique ID for anyone to view.
- TypeScript – language
- Tailwind CSS – styling
- PostgreSQL – database
- Prisma ORM – database operations
- bcrypt – password hashing
- JWT – authentication
- zod – validation
- React – frontend library
- React-Hook-Forms – form handling
- Node.js – backend runtime
- Express – backend framework
- Turborepo – monorepo management
- Axios – HTTP client
- Cloudinary – image management
To get a local copy up and running, follow these steps.
Node.js
npm
PostgreSQL
-
Clone the repository
git clone https://github.com/<YOUR_OWN_FORK>/Patra.git cd Patra
-
Install Dependencies For Mono Repo
npm install
-
Create a
postgres
Database- Some popular options include:
- Using
docker
locally - Using
aiven
- Using
supabase
- Using
- Some popular options include:
-
Set up environment variables
- A
.env.example
file is included in the root directory of the project as a template. - Copy this
.env.example
file to a new file named.env
and update it with your actual configuration values.
cd apps/server cp .env.example .env
- A
-
Run installation and Migration Scripts
npm install npm run generate npm run migrate
-
Build the backend anytime you want to start a server
npm run build
-
Start the server
npm run dev
- This will start the server on the port specified in your
.env
file (or3000
if not specified). - You should see a message indicating that the server is running at <YOUR_DEFINED_PORT>
- This will start the server on the port specified in your
-
Navigate to the frontend directory
cd apps/client
-
Install frontend dependencies
npm install
-
Start the frontend development server
npm run dev
- This will start the frontend on the port
5173
- You should see a message indicating that the frontend is
running at
http://localhost:5173
.
- This will start the frontend on the port
We welcome contributions from the community! If you have ideas, suggestions, or want to help improve Patra, please feel free to contribute.
The documentation is still in progress and needs your contribution. Feel free to contribute and help us make Patra better.
This project is licensed under the MIT License - see the LICENSE.md file for details.