A modern, secure, and scalable application built with FastAPI and Next.js. This monorepo contains both the backend server and frontend web application.
- 
Backend (FastAPI)
- RESTful API with OpenAPI documentation
 - MongoDB database integration
 - JWT authentication
 - Rate limiting
 - CORS support
 - Internationalization (i18n)
 - Structured logging
 - Redis caching
 - TOTP (Time-based One-Time Password) support
 
 - 
Frontend (Next.js)
- Modern React with TypeScript
 - Responsive UI with Tailwind CSS
 - Internationalization support
 - Dark/Light theme
 - Redux state management
 - Form handling with React Hook Form
 - Beautiful UI components with Radix UI
 - Toast notifications
 - Data visualization with Recharts
 
 
- Python 3.11+
 - Node.js 18+
 - MongoDB
 - Redis
 - Docker (optional)
 
- 
Navigate to the backend directory:
cd packages/backend-server - 
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
 - 
Install dependencies:
pip install -r requirements.txt
 - 
Create a
.envfile with the following variables:MONGO_DB_URL=your_mongodb_url JWT_SECRET=your_jwt_secret JWT_ALGORITHM=HS512 ENV=development DB_NAME=your_db_name STACK_AUTH_PROJECT_ID=your_project_id STACK_AUTH_CLIENT_ID=your_client_id STACK_AUTH_CLIENT_SECRET=your_client_secret TOTP_SECRET=your_totp_secret
 
- 
Navigate to the frontend directory:
cd packages/frontend-web - 
Install dependencies:
npm install
 - 
Create a
.env.localfile with necessary environment variables (if required) 
- 
Start the backend server:
cd packages/backend-server uvicorn app.main:app --reloadThe server will start at
http://localhost:8000- API Documentation: 
http://localhost:8000/docs(Swagger UI) - Alternative Documentation: 
http://localhost:8000/redoc(ReDoc) 
 - API Documentation: 
 
- 
Start the frontend development server:
cd packages/frontend-web npm run devThe application will be available at
http://localhost:3000 
- 
Build the Docker image:
cd packages/backend-server docker build -t zecrypt-backend .
 - 
Run the container:
docker run -p 8080:8080 zecrypt-backend
 
- 
Build the Docker image:
cd packages/frontend-web docker build -t zecrypt-frontend .
 - 
Run the container:
docker run -p 3000:3000 zecrypt-frontend
 
When running in development mode, the API documentation is available at:
- Swagger UI: 
http://localhost:8000/docs - ReDoc: 
http://localhost:8000/redoc - OpenAPI Schema: 
http://localhost:8000/openapi.json 
Note: API documentation is disabled in production environment for security reasons.
- JWT-based authentication
 - Rate limiting to prevent abuse
 - CORS protection
 - Environment-based configuration
 - Secure password hashing
 - TOTP for two-factor authentication
 
The application supports multiple languages through:
- Backend: Custom i18n implementation
 - Frontend: next-intl for translations
 
This project is licensed under the terms of the license included in the repository.
- Fork the repository
 - Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
 
For support, please open an issue in the repository or contact the maintainer @anandude itsmeakhil.