Projex is an internal project management dashboard that allows administrators to manage and track their projects efficiently.
It provides a clean dashboard where admins can create, update, delete, and monitor projects. The application also provides useful project statistics such as total projects, completed projects, and other important metrics.
- 🔐 Secure Authentication
- 📁 Project Management
- 📊 Dashboard & Analytics
- 📎 File Uploads
- 📱 Responsive Design
- ⚡ High Performance
- Node.js
- TypeScript
- Fastify
- Prisma ORM
- PostgreSQL
- Supabase Storage
Complete documentation is available in the docs directory.
| Document | Description |
|---|---|
| Configuration | Environment variables and application configuration |
| Folder Structure | Project folders and files organization |
| scripts | get script details more guides |
Before installing, make sure you have:
- Node.js 20+
- npm or pnpm
- Git
- PostgreSQL database
git clone https://github.com/yourusername/projex.gitcd projexnpm installCreate your environment file:
touch .envOr manually create a .env file in the project root.
Add your environment variables:
PORT=3000
MODE=DEVELOPMENT
DATABASE_URL=your_postgresql_connection_string
JWT_SECRET=your_secret_key
SUPABASE_URL=your_supabase_project_url
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
SUPABASE_BUCKET_NAME=your_storage_bucket_nameFor more details, see the Configuration Guide.
Note: The application can start without Prisma setup, but authentication requires database records. You must complete Prisma setup to create the required database tables and default credentials.
Generate Prisma Client from the database schema:
npm run prisma:generateCreate database tables:
npm run prisma:migrateThis will apply Prisma migrations and prepare your database.
Create initial database records:
npm run seedThe seed script creates predefined data required by the application, such as default login credentials.
View and manage database records:
npm run prisma:studioStart the application in development mode:
npm run devThe server will start with automatic reload enabled.
After completing all setup steps, open your browser and navigate to:
http://localhost:3000 or with your custom port
Log in using the default member credentials created during the Prisma seed process.
To find the seeded login credentials open:
prisma/member.ts
and use the predefined email and password values provided in the seed file.
Create a production build:
npm run buildAfter building:
npm startThis runs the compiled application from the dist directory.
This project is licensed under the ISC License.
Abdullahi Shair
- GitHub: https://github.com/yourusername
- Portfolio: https://yourportfolio.com
- LinkedIn: https://linkedin.com/in/yourusername
- Email: your@email.com
If you find this project useful, consider giving it a ⭐ star on GitHub.
Your support helps others discover the project and encourages future development.