Documentation available at: https://asu.readthedocs.io
This is a comprehensive Django project for reference.
You may use this as a base project, or you can scrap the parts you don't need and bootstrap a highly optimized Django project.
- Authentication & Account Management
- OAuth 2.0 (Authorization Code with PKCE & Client Credentials)
- Two-factor authentication
- CRUD operations
- Blocking operations
- Following operations
- Follow requests
- Ability to mark profile as 'private'
- Profile pictures
- Thumbnail generation
- Image validation
- Image scaling & compression on upload
- Mime type validation
- Verifications (all flows employ email confirmation)
- Registration flow
- Password reset flow
- Email change flow
The project is an example of a standard Django stack, the components being:
- Postgres (database)
- Redis (cache)
- RabbitMQ (message broker)
- Celery (task queue)
- Nginx (reverse proxy)
All of these components are available through Docker setup (for both production and development environments).
The project has a high test coverage and all the major features are well-tested.
To serve the project, you'll at least need Docker with compose plugin installed. First off, clone the project:
git clone https://github.com/realsuayip/asuNavigate to the root directory, and run:
justThis project uses just command runner, to see available commands, run:
just --listIf you are using it for the first time, it might take a while to set up the
containers. Once the containers are up and running, you may navigate to
127.0.0.1:8000/api/ to browse the API.