Crisp is a modern web application designed to provide a comprehensive platform for managing various administrative tasks, reporting, and analytics. Built with Next.js, TypeScript, and Tailwind CSS, Crisp offers a modular and scalable architecture for developers and users alike.
- Admin Dashboard: Manage alerts, analytics, communication, feedback, integrations, and more.
- Interactive Maps: Includes support for Cesium and MapLibre for advanced mapping capabilities.
- UI Components: A rich library of reusable UI components such as buttons, forms, tables, and more.
- API Endpoints: RESTful API endpoints for incidents, reports, search, stats, and tracking.
- Authentication: Secure login functionality for administrators.
- Responsive Design: Optimized for both desktop and mobile devices.
The project is organized as follows:
app/: Contains the main application pages and routes.components/: Houses reusable UI components and map integrations.hooks/: Custom React hooks for shared logic.lib/: Utility functions and Prisma client setup.prisma/: Database schema and migrations.public/: Static assets such as images and Cesium resources.styles/: Global CSS styles.
Before running the project, ensure you have the following installed:
- Node.js (v16 or later)
- npm or yarn
- A PostgreSQL database
-
Clone the repository:
git clone https://github.com/Twilight-Techy/crisp.git cd crisp -
Install dependencies:
npm install # or yarn install -
Set up environment variables: Create a
.envfile in the root directory and configure the required environment variables. Refer to.env.examplefor guidance. -
Run database migrations:
npx prisma migrate dev
-
Start the development server:
npm run dev # or yarn dev -
Open the application: Navigate to
http://localhost:3000in your browser.
npm run dev: Start the development server.npm run build: Build the application for production.npm run start: Start the production server.npm run lint: Run ESLint to check for code quality issues.
- Framework: Next.js
- Language: TypeScript
- Styling: Tailwind CSS
- Database: PostgreSQL with Prisma ORM
- Mapping: Cesium and MapLibre
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes and push the branch.
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.