This project is built with Remix, a full stack web framework that lets you focus on the user interface and work back through web fundamentals to deliver a fast, slick, and resilient user experience.
- Framework: Remix
- UI/Styling:
- Tailwind CSS
- Mantine UI
- Tabler Icons for pixel-perfect, customizable icons
- Database:
- Prisma (ORM)
- PostgreSQL
- Authentication: Lucia with Google and GitHub providers
- Testing: Playwright for end-to-end testing
- AI Integration: OpenAI gpt-4o-mini for advanced natural language processing
Here are some screenshots showcasing the key features of our application:
- Node.js (version 20 or later recommended)
- npm (comes with Node.js)
Before installation, you need to set up your environment variables:
-
Copy the example environment file:
cp .env.example .env
-
Open the newly created
.env
file and modify the values as needed -
Ensure that
.env
is listed in your.gitignore
file to keep your secrets safe.
-
Clone the repository:
git clone [email protected]:adnanfajlur/remix-workshop.git cd remix-workshop
-
Install dependencies:
npm install
-
Run the setup script:
npm run setup
To run the development server:
npm run dev
This will start the app in development mode. Open http://localhost:3000 to view it in your browser.
This project uses Playwright for end-to-end testing.
To develop and debug test scenarios interactively:
npm run test:ui
This command launches Playwright's UI mode, allowing you to visually create and debug your tests.
To run all tests:
npm run test
This command executes all Playwright tests in your project.
After running tests, you can view the detailed report:
npm run show-report
This command opens the Playwright HTML report
To create a production build:
npm run build
To run the app in production mode:
npm run start
-
DIY: If you're familiar with deploying Node applications, the built-in Remix app server is production-ready. Make sure to deploy the output of
npm run build
:build/server
build/client
-
Hosting Platforms: Remix can be deployed to various platforms. Check the Remix Deployment docs for platform-specific instructions.
This project draws inspiration from ChatGPT Remix by @perezcarreno. While our project has its own unique features and implementation, we appreciate the insights gained from exploring ChatGPT Remix.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.