This commit introduces a boilerplate inspired by https://github.com/numerique-gouv/impress. The code has been cleaned to remove unnecessary Impress logic and dependencies. Changes made: - Removed Minio, WebRTC, and create bucket from the stack. - Removed the Next.js frontend (it will be replaced by Vite). - Cleaned up impress-specific backend logics. The whole stack remains functional: - All tests pass. - Linter checks pass. - Agent Connexion sources are already set-up. Why clear out the code? To adhere to the KISS principle, we aim to maintain a minimalist codebase. Cloning Impress allowed us to quickly inherit its code quality tools and deployment configurations for staging, pre-production, and production environments. What’s broken? - The tsclient is not functional anymore. - Some make commands need to be fixed. - Helm sources are outdated. - Naming across the project sources are inconsistent (impress, visio, etc.) - CI is not configured properly. This list might be incomplete. Let's grind it.
83 lines
2.0 KiB
Markdown
83 lines
2.0 KiB
Markdown
# Impress
|
|
|
|
Impress prints your markdown to pdf from predefined templates with user and role based access rights.
|
|
|
|
Impress is built on top of [Django Rest
|
|
Framework](https://www.django-rest-framework.org/) and [Next.js](https://nextjs.org/).
|
|
|
|
## Getting started
|
|
|
|
### Prerequisite
|
|
|
|
Make sure you have a recent version of Docker and [Docker
|
|
Compose](https://docs.docker.com/compose/install) installed on your laptop:
|
|
|
|
```bash
|
|
$ docker -v
|
|
Docker version 20.10.2, build 2291f61
|
|
|
|
$ docker compose -v
|
|
docker compose version 1.27.4, build 40524192
|
|
```
|
|
|
|
> ⚠️ You may need to run the following commands with `sudo` but this can be
|
|
> avoided by assigning your user to the `docker` group.
|
|
|
|
### Project bootstrap
|
|
|
|
The easiest way to start working on the project is to use GNU Make:
|
|
|
|
```bash
|
|
$ make bootstrap FLUSH_ARGS='--no-input'
|
|
```
|
|
|
|
Then you can access to the project in development mode by going to http://localhost:3000.
|
|
You will be prompted to log in, the default credentials are:
|
|
```bash
|
|
username: impress
|
|
password: impress
|
|
```
|
|
---
|
|
|
|
This command builds the `app` container, installs dependencies, performs
|
|
database migrations and compile translations. It's a good idea to use this
|
|
command each time you are pulling code from the project repository to avoid
|
|
dependency-related or migration-related issues.
|
|
|
|
Your Docker services should now be up and running 🎉
|
|
|
|
[FIXME] Explain how to run the frontend project.
|
|
|
|
### Adding content
|
|
|
|
You can create a basic demo site by running:
|
|
|
|
$ make demo
|
|
|
|
Finally, you can check all available Make rules using:
|
|
|
|
```bash
|
|
$ make help
|
|
```
|
|
|
|
### Django admin
|
|
|
|
You can access the Django admin site at
|
|
[http://localhost:8071/admin](http://localhost:8071/admin).
|
|
|
|
You first need to create a superuser account:
|
|
|
|
```bash
|
|
$ make superuser
|
|
```
|
|
|
|
## Contributing
|
|
|
|
This project is intended to be community-driven, so please, do not hesitate to
|
|
get in touch if you have any question related to our implementation or design
|
|
decisions.
|
|
|
|
## License
|
|
|
|
This work is released under the MIT License (see [LICENSE](./LICENSE)).
|