A full-stack CRM application designed for real estate professionals to manage properties, leads, deals, and client interactions efficiently. The backend is built with Go, and the frontend is a modern web application using Next.js and TypeScript.
Dashboard:* At-a-glance overview of key metrics, tasks, and deals.
Contact Management:* A centralized database for all clients and leads.
Deal Tracking:* Visualize and manage the sales pipeline from lead to closing.
Property Listings:* Manage property information, status, and associated deals.
Task Management:* Create and assign tasks to stay on top of daily activities.
Reporting:* Generate reports to analyze sales performance and trends.
User Authentication:* Secure login and registration for different user roles (e.g., Sales Agent, Reception).
Backend:*
* Go
* PostgreSQL
* chi router (likely, based on common Go API patterns)
* sqlx for database interaction (likely)
Frontend:*
* Next.js (React)
* TypeScript
* Tailwind CSS
* Shadcn/ui for components
Package Manager:* pnpm
Follow these instructions to set up and run the project on your local machine.
- Go (https://go.dev/doc/install) (version 1.21 or later)
- Node.js (https://nodejs.org/en) (version 20.x or later)
- pnpm (https://pnpm.io/installation)
- PostgreSQL (https://www.postgresql.org/download/)
- A running PostgreSQL instance.
The backend server is written in Go and connects to a PostgreSQL database.
`bash
cd backend
go mod tidy
- Set up environment variables server: port: 8080 `
`bash
migrate -database 'postgres://your_db_user:your_db_password@localhost:5432/real_estate_crm?sslmode=disable' -path db/migrations up
- Run the server
- Set up environment variables `
Open http://localhost:3000 (http://localhost:3000) in your browser to see the application.
The API is documented using the OpenAPI specification. The openapi.yaml file in the backend directory contains the full API definition. You can use tools like Swagger Editor (https://editor.swagger.io/) to view and interact with the API documentation.
Contributions are welcome! Please feel free to submit a pull request or open an issue for any bugs or feature requests.
This project is licensed under the MIT License. See the LICENSE file for details.