README.md (view raw)
1![Caroster](./banner.jpg)
2
3[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)
4
5# Caroster - Group carpool to your event
6
7Caroster is an easy and free app to organize group carpooling for an event, a party, a seminar, a sports event, a camp, a ski trip…
8
9> Are you on GitHub ? Please use the [reference repository on GitLab](https://git.octree.ch/p/caroster) for issues and pull requests.
10
11## Getting Started
12
13These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
14
15Caroster is composed of two parts:
16
17- A frontend app based on [NextJS](https://nextjs.org/)
18- A backend server using [Strapi](https://strapi.io/)
19
20> Caroster is currently in Beta. Big changes can happen, especially in terms of data architecture.
21
22### Prerequisites
23
24To fully utilize your instance of Caroster, you will need an SMTP configuration to send emails.
25
26### Installing
27
28Clone the repo locally:
29
30```shell
31git clone https://git.octree.ch/p/caroster.git
32cd caroster
33```
34
35### Run with Docker
36
37First, edit `docker-compose.yml` to provide your SMTP configuration:
38
39```yaml
40version: "3"
41services:
42 app:
43 ...
44 SMTP_HOST: smtp.myserver.org
45 SMTP_PORT: 587
46 SMTP_USERNAME: user
47 SMTP_PASSWORD: password
48...
49```
50
51Then, create containers with Docker Compose:
52
53```shell
54docker compose up
55```
56
57Wait a few minutes while the application downloads needed packages,
58then go to http://localhost:8080.
59
60You can log on http://localhost:8080/admin with email `admin@example.org`
61and password `caroster`.
62
63## Development
64
65### Frontend
66
67These steps will prepare the frontend to run in development mode.
68
69```shell
70cd frontend
71yarn # or 'npm install'
72yarn dev
73```
74
75The frontend is now accessible on http://localhost:3000
76
77### Backend
78
79These steps will prepare and configure the backend to run in development mode.
80
81> You need a Postgres database running locally. Start one with `docker compose up psql -d`.
82
83```shell
84cd backend
85yarn # or 'npm install'
86cp .env.example .env
87vi .env # Edit with your own configuration
88yarn develop
89```
90
91The Strapi server is now ready and the admin is accessible on http://localhost:1337/admin.
92
93## Running the tests
94
95A few tests are available to check GraphQL endpoints behavior in the `e2e` directory.
96
97First, run Strapi in test mode:
98
99```shell
100cd backend
101cp .env.example .env
102vi .env # Edit with your own configuration
103yarn start-test
104```
105
106Then, run the tests:
107
108```shell
109cd e2e
110yarn
111yarn gql
112yarn test
113```
114
115## Contributing
116
117Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
118
119## Authors
120
121- [Octree](https://github.com/octree-gva) - sustainable startup studio - https://octree.ch
122
123See also the list of [contributors](https://github.com/octree-gva/caroster/graphs/contributors) who participated in this project.
124
125## License
126
127This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details