140 lines
2.9 KiB
Markdown
140 lines
2.9 KiB
Markdown
# daily-aujourdhui-frontend
|
||
|
||
Daily Aujourd’hui is a platform where users can create daily meeting
|
||
polls, invite participants, and vote on whether a meeting is necessary.
|
||
|
||
This repository contains the frontend code for the project.
|
||
|
||
The backend for this project can be found
|
||
[here](https://labs.phundrak.com/phundrak/daily-aujourdhui-backend).
|
||
|
||
## Project Setup
|
||
|
||
### Prerequisites
|
||
|
||
- Node.js
|
||
- npm
|
||
|
||
### Installation
|
||
|
||
1. Clone the repository:
|
||
|
||
```bash
|
||
git clone https://labs.phundrak.com/phundrak/daily-aujourdhui-frontend.git
|
||
cd daily-aujourdhui-frontend
|
||
```
|
||
|
||
2. Install dependencies:
|
||
|
||
Using npm:
|
||
|
||
```bash
|
||
npm i
|
||
```
|
||
|
||
Using yarn:
|
||
|
||
```bash
|
||
yarn install
|
||
```
|
||
|
||
Using pnpm:
|
||
|
||
```bash
|
||
pnpm install
|
||
```
|
||
|
||
3. Create a `.env` file
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
Modify the environment variables to fit your installation of Daily
|
||
Aujourd’hui.
|
||
|
||
4. Run the development server
|
||
|
||
Using npm:
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
Using yarn:
|
||
|
||
```bash
|
||
yarn dev
|
||
```
|
||
|
||
Using pnpm:
|
||
|
||
```bash
|
||
pnpm run dev
|
||
```
|
||
|
||
### Building for Production
|
||
|
||
To build the project for production, run:
|
||
|
||
- Using npm:
|
||
|
||
```bash
|
||
npm run build
|
||
```
|
||
|
||
- Using yarn:
|
||
|
||
```bash
|
||
yarn build
|
||
```
|
||
|
||
- Using pnpm:
|
||
|
||
```bash
|
||
pnpm run build
|
||
```
|
||
|
||
## Project Structure
|
||
|
||
```text
|
||
src/
|
||
├── assets/ # Static assets such as images, fonts, styles, etc.
|
||
├── components/ # Vue components
|
||
│ └─ __tests__/ # Vue components tests
|
||
├── composables/ # Vue composables for reusable logic
|
||
│ └─ __tests__/ # Vue composables tests
|
||
├── router/ # Vue Router configuration
|
||
├── stores/ # Pinia stores for state management
|
||
│ └─ __tests__/ # Vue stores tests
|
||
├── views/ # Vue views/pages
|
||
├── App.vue # Main Vue component
|
||
└── main.ts # Main entry point
|
||
```
|
||
|
||
## Environment Variables
|
||
|
||
You can create your `.env` file based on the example file
|
||
`.env.example`. Here are the variables you need to set to make your
|
||
frontend work correctly:
|
||
|
||
- `VITE_LOGTO_ENDPOINT`: The enpoint used by your Logto application.
|
||
This value should be given to you by Logto when you create your
|
||
application in the Logto console.
|
||
- `VITE_LOGTO_APP_ID`: The identifier of your application. Same as
|
||
above.
|
||
- `VITE_HOSTNAME`: The hostname of your frontend. When running in
|
||
development, it will usually be `http://localhost:5173`, but it can
|
||
become something like `https://example.com` when you deploy it in
|
||
production.
|
||
|
||
**Warning**: The hostname must NOT end with a trailing slash.
|
||
- `VITE_API_BASE_URL`: The hostname of your backend. In development,
|
||
it will probably be `http://localhost:3000`, but it can become
|
||
something like `https://api.example.com` when in production.
|
||
|
||
## License
|
||
|
||
This project is licensed under the AGPL-3.0 free license. See the
|
||
[LICENSE](LICENSE.md) for more details.
|