NeoTemplate is a full-stack website template built using Next.js with Material UI, NextAuth, and i18next for the frontend, and Django with Django Rest Framework (DRF) for the backend. It provides a foundation for creating websites with essential features already implemented, including:
- Email-based sign-in/sign-up
- Email validation
- Password reset functionality
- Profile management with profile picture upload
- A basic home page
- Theme (light/dark) selection (stored client-side)
- Language selection (stored client-side)
- Right-click this button to create a repository using this one as a template.
- Ensure you have Docker and Docker Compose installed.
- Create
.env
files in thebackend/
andfrontend/
folders and populate them using the respective.env.template
files.
docker-compose up --build -d
docker-compose -f docker-compose.prod.yml up --build -d
If Docker encounters permission issues:
sudo chown -R $(id -u):$(id -g) $HOME/.docker
Then navigate to: http://localhost:3000/
To access the Django admin panel, create a superuser within your backend container:
docker exec -it backend bash
python manage.py createsuperuser
Then navigate to: http://localhost:8000/admin/
- Change every occurence of
NeoTemplate
,neotemplate
,Neo
andTemplate
by your desired name. - Change the logo at
frontend/public/favicon.ico
,frontend/public/logo.png
and atfrontend/components/icons/logo.png
.
And that's it, start implementing your ideas!
- You do not have email server to set in the .env file ?
- Uncomment these lines in backend/core/settings.py :
# if DEBUG:
# EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
- In the same file, set
ACCOUNT_EMAIL_VERIFICATION
toFalse
. - Restart the
backend
container with:
docker restart backend