Patrigma is a Progressive Web Application (PWA) designed to enhance social interactions through a culturally enriching treasure hunt experience. Using Next.js, this application allows users to discover local points of interest through mystery-solving and navigation-based challenges.
- User Registration and Authentication: Secure sign-up and login functionality.
- Interactive Enigma Routes: Users can create and manage custom routes with puzzles based on local landmarks.
- Event Management: Organize and participate in treasure hunt events.
- Real-time GPS Navigation: Guide users through selected routes and puzzles.
- Accessible and Intuitive UI: Ensures a smooth user experience across various devices.
- Feedback System: Rate and comment on routes and events, enhancing community engagement.
- Next.js: The React framework for production.
- Prisma: Next-generation ORM for Node.js and TypeScript.
- PostgreSQL: Robust and powerful open-source relational database.
- Mapbox: Location data platform for mobile and web applications.
- GitHub Actions: CI/CD that makes it easy to automate all your software workflows.
- Node.js 18.x or later
- PostgreSQL database
- Mapbox API key
-
Clone the repository:
git clone https://github.com/your-username/patrigma.git cd patrigma
-
Install dependencies:
npm install
-
Set up the environment variables:
DATABASE_URL="your-database-url" MAPBOX_KEY="your-mapbox-api-key" NEXT_PUBLIC_MAPBOX_KEY="your-public-mapbox-api-key" JWT_SECRET="mysecret"
-
Apply database migrations:
Dev environment :
npx prisma migrate dev
Prod environment :
npx prisma migrate deploy
-
Seeding database (optionnal):
npx prisma db seed
-
Run the development server:
bash npm run dev
Open http://localhost:3000 with your browser to see the result.
To deploy Patrigma, follow these steps:
- Build the application for production:
npm run build
- Start the production server:
npm run start