docs+featured/unfeatured-upgrade
All checks were successful
Deploy on push / deploy (push) Successful in 6s
All checks were successful
Deploy on push / deploy (push) Successful in 6s
This commit is contained in:
101
README.md
101
README.md
@@ -1,8 +1,28 @@
|
||||
# GraphQL API Backend
|
||||
|
||||
Backend service providing GraphQL API for content management system with reactions, ratings and comments.
|
||||
<div align="center">
|
||||
|
||||
## Core Features
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
</div>
|
||||
|
||||
Backend service providing GraphQL API for content management system with reactions, ratings and topics.
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
 • [API Documentation](docs/api.md)
|
||||
 • [Authentication Guide](docs/auth.md)
|
||||
 • [Caching System](docs/redis-schema.md)
|
||||
 • [Features Overview](docs/features.md)
|
||||
|
||||
## 🚀 Core Features
|
||||
|
||||
### Shouts (Posts)
|
||||
- CRUD operations via GraphQL mutations
|
||||
@@ -26,18 +46,20 @@ Backend service providing GraphQL API for content management system with reactio
|
||||
- Activity tracking and stats
|
||||
- Community features
|
||||
|
||||
## Tech Stack
|
||||
## 🛠️ Tech Stack
|
||||
|
||||
- [Python](https://www.python.org/) 3.12+
|
||||
- **GraphQL** with [Ariadne](https://ariadnegraphql.org/)
|
||||
- [SQLAlchemy](https://docs.sqlalchemy.org/en/20/orm/)
|
||||
- [PostgreSQL](https://www.postgresql.org/)/[SQLite](https://www.sqlite.org/) support
|
||||
- [Starlette](https://www.starlette.io/) for ASGI server
|
||||
- [Redis](https://redis.io/) for caching
|
||||
**Core:** Python 3.12 • GraphQL • PostgreSQL • Redis • txtai
|
||||
**Server:** Starlette • Granian • Nginx
|
||||
**Tools:** SQLAlchemy • JWT • Pytest • Ruff
|
||||
**Deploy:** Dokku • Gitea • Glitchtip
|
||||
|
||||
## Development
|
||||
## 🔧 Development
|
||||
|
||||
### Prepare environment:
|
||||

|
||||

|
||||

|
||||
|
||||
### 📦 Prepare environment:
|
||||
|
||||
```shell
|
||||
python3.12 -m venv venv
|
||||
@@ -45,7 +67,7 @@ source venv/bin/activate
|
||||
pip install -r requirements.dev.txt
|
||||
```
|
||||
|
||||
### Run server
|
||||
### 🚀 Run server
|
||||
|
||||
First, certificates are required to run the server with HTTPS.
|
||||
|
||||
@@ -60,7 +82,7 @@ Then, run the server:
|
||||
python -m granian main:app --interface asgi
|
||||
```
|
||||
|
||||
### Useful Commands
|
||||
### ⚡ Useful Commands
|
||||
|
||||
```shell
|
||||
# Linting and import sorting
|
||||
@@ -79,15 +101,15 @@ mypy .
|
||||
python -m granian main:app --interface asgi
|
||||
```
|
||||
|
||||
### Code Style
|
||||
### 📝 Code Style
|
||||
|
||||
We use:
|
||||
- Ruff for linting and import sorting
|
||||
- Line length: 120 characters
|
||||
- Python type hints
|
||||
- Docstrings for public methods
|
||||

|
||||

|
||||

|
||||
|
||||
### GraphQL Development
|
||||
**Ruff** for linting • **120 char** lines • **Type hints** required • **Docstrings** for public methods
|
||||
|
||||
### 🔍 GraphQL Development
|
||||
|
||||
Test queries in GraphQL Playground at `http://localhost:8000`:
|
||||
|
||||
@@ -103,3 +125,42 @@ query GetShout($slug: String) {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Project Stats
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
</div>
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
 • [Read the guide](CONTRIBUTING.md)
|
||||
|
||||
We welcome contributions! Please read our contributing guide before submitting PRs.
|
||||
|
||||
## 📄 License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
## 🔗 Links
|
||||
|
||||
 • [discours.io](https://discours.io)
|
||||
 • [Source Code](https://github.com/discours/core)
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
**Made with ❤️ by the Discours Team**
|
||||
|
||||

|
||||

|
||||
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user