Opensyte
An open source all-in-one business management software.
Install / Use
/learn @Opensyte/OpensyteREADME
🚀 OpenSyte
An open source all-in-one business management software.
🛠️ Installation
Follow these steps to set up the project on your local machine:
1. Fork and clone the repository
- Fork the repository
- Visit the OpenSyte repository
- Click on the "Fork" button in the upper right corner
- Follow the prompts to create a fork in your GitHub account
- Clone your fork
git clone https://github.com/your-username/opensyte.git
cd opensyte
2. Install dependencies
bun install
3. Environment Setup
Create a .env file from the example:
cp .env.example .env
Update the database credentials in the .env file if needed.
Setting up Google Authentication
To enable Google sign-in, follow these steps:
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Navigate to APIs & Services > Credentials
- Click Create Credentials > OAuth client ID
- Configure the OAuth consent screen if not already done
- For Application Type, choose Web application
- Add authorized redirect URIs:
- For development:
http://localhost:3000/api/auth/callback/google - For production:
https://your-domain.com/api/auth/callback/google
- For development:
- Click Create and note your credentials
- Add the following to your
.envfile:
# Google OAuth
GOOGLE_CLIENT_ID="your-client-id"
GOOGLE_CLIENT_SECRET="your-client-secret"
4. Start up a database
For Linux/macOS users:
./start-database.sh
<details>
<summary><b>📌 Windows Users: Click here for database setup instructions</b></summary>
To run the database on Windows:
-
Install WSL (Windows Subsystem for Linux)
- Follow the official guide: Microsoft WSL Installation
-
Install a container platform
- Option 1: Docker Desktop for Windows
- Option 2: Podman Desktop
-
Open WSL (type this command inside a windows terminal inside the project folder)
wsl
</details>⚠️ Note: Make sure Docker/Podman service is running before executing the script.
5. Set up the database schema
bun run db:push
6. Start the development server
bun run dev
Your app should now be running at http://localhost:3000! 🎉
🗺️ Features Roadmap
OpenSyte aims to be an all-in-one business management solution with the following features:
| Feature | Status | Description | |---------|--------|-------------| | Customer Relationship Management (CRM) | | | | Contact and Lead Management | ✅ Implemented | Store and organize customer details, track leads | | Sales Pipeline Tracking | ✅ Implemented | Visualize and manage your sales process with stages | | Customer Interaction History | ✅ Implemented | Log emails, calls, and meetings for each customer | | Analytics and Reporting | ❌ Not implemented | Gain insights into sales performance and forecasts | | Project Management | | | | Task Creation and Assignment | ✅ Implemented | Break down projects into tasks with deadlines | | Visual Tools (Gantt/Kanban) | ✅ Implemented | Use Gantt charts and Kanban boards for tracking | | Resource Management | ✅ Implemented | Allocate team members to specific tasks | | Time Tracking | ❌ Not implemented | Record time spent on tasks | | Collaboration Features | ❌ Not implemented | Enable comments and file attachments within tasks | | Finance and Accounting | | | | Invoicing and Billing | ✅ Implemented | Create, send, and delete invoices | | Expense Tracking | ✅ Implemented | Log and categorize expenses | | Financial Reporting | ✅ Implemented | Generate financial statements | | Bank Integration | ❌ Not implemented | Sync with bank accounts | | Collaboration Tools | | | | Real-Time Chat | ❌ Not implemented | Communicate with your team | | Video Conferencing | ❌ Not implemented | Host built-in video meetings | | Document Sharing and Editing | ❌ Not implemented | Collaborate on documents | | Shared Calendars | ❌ Not implemented | Schedule with team-wide visibility | | Notifications | ❌ Not implemented | Stay updated with alerts | | User Management & Access Control (Settings) | | | | Feature-Level Access Control | ✅ Implemented | Settings: Control which features users can view and access | | Role-Based Access Control | ✅ Implemented | Settings: Create custom roles with predefined permission sets | | User Invitation Management | ✅ Implemented | Settings: Send invitations and manage user onboarding | | Human Resources (HR) Management | | | | Employee Database | ✅ Implemented | Store employee profiles | | Payroll Management | ✅ Implemented | Automate salary calculations | | Performance Tracking | ✅ Implemented | Record employee reviews and goals | | Time-Off Management | ✅ Implemented | Track vacation and attendance | | Onboarding/Offboarding | ❌ Not implemented | Streamline processes for hiring/departures | | Marketing Automation | | | | Email Campaigns | ❌ Not implemented | Design and send bulk emails | | Social Media Management | ❌ Not implemented | Schedule posts across platforms | | Lead Nurturing | ❌ Not implemented | Automate follow-ups with leads | | Analytics | ❌ Not implemented | Measure campaign success |
Want to contribute? Check out our issues page to see what features we're currently working on!
📚 Available Scripts
| Command | Description |
|---------|-------------|
| bun run dev | Start the development server |
| bun run build | Build the application for production |
| bun run start | Start the production server |
| bun run lint | Run ESLint |
| bun run format:write | Format code with Prettier |
| bun run db:push | Push the Prisma schema to the database |
| bun run db:studio | Open Prisma Studio to manage your database |
🧩 Technology Stack
- Framework: Next.js
- Database: Prisma
- Styling: Tailwind CSS
- UI Components: Shadcn UI
- API: tRPC
- Runtime: Bun
🚢 Deployment
Follow these deployment guides for:
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
