A full-stack authentication system built with Django REST Framework and React, featuring Google OAuth, email verification, and News API integration. Perfect for rapid development of secure authentication systems.
-
User Authentication
- Email/password registration and login
- Google OAuth 2.0 integration
- JWT token-based authentication
- Email verification with OTP
- Password reset functionality
-
Security Features
- Secure password hashing
- CORS configuration
- JWT token management
- Environment-based configuration
-
News Integration
- News API integration for content delivery
- Carousel display components
- Real-time news updates
-
Modern UI/UX
- Responsive React frontend
- Material design components
- Weather information display
- Professional landing page
- Django 5.2.5 - Web framework
- Django REST Framework - API development
- PostgreSQL - Database
- JWT Authentication - Token-based auth
- Google OAuth - Social authentication
- Django Allauth - Authentication package
- React - UI library
- Create React App - Build tool
- Google OAuth - Social login
- CSS3 - Styling
BitMoreVerify/
βββ backend/ # Django backend
β βββ backend/ # Main Django settings
β βββ users/ # User authentication app
β βββ news/ # News API integration
β βββ manage.py
β βββ requirements.txt
βββ frontend/ # React frontend
β βββ src/
β β βββ components/ # Reusable components
β β βββ pages/ # Page components
β β βββ styles/ # CSS files
β β βββ utils/ # Utility functions
β βββ public/
β βββ package.json
βββ README.md
- Python 3.8+
- Node.js 14+
- PostgreSQL 12+
- Git
git clone https://github.com/smdspace-dev/BitMoreVerify.git
cd BitMoreVerifycd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # Update with your values
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runservercd frontend
npm install
cp .env.example .env # Update with your values
npm startDJANGO_SECRET_KEY=your-django-secret-key
DEBUG=True
DB_NAME=your_database_name
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_HOST=localhost
DB_PORT=5432
EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=your-app-password
NEWSDATA_API_KEY=your-newsdata-api-key
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secretREACT_APP_API_BASE_URL=http://127.0.0.1:8000
REACT_APP_GOOGLE_CLIENT_ID=your-google-client-id| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register/ |
User registration |
| POST | /api/auth/login/ |
User login |
| POST | /api/auth/logout/ |
Logout |
| POST | /api/auth/verify-otp/ |
Email verification |
| POST | /api/auth/forgot-password/ |
Password reset |
| POST | /api/auth/google/ |
Google OAuth login |
| GET | /api/auth/user/ |
Get user profile |
| PUT | /api/auth/user/ |
Update user profile |
| DELETE | /api/auth/user/ |
Delete user account |
cd backend && python manage.py test
cd ../frontend && npm test# Backend
black . && flake8 .
# Frontend
npm run lint- Create feature branch:
git checkout -b feature/new-feature - Make and test changes locally
- Commit:
git commit -m "Add new feature" - Push:
git push origin feature/new-feature - Open Pull Request
heroku create bitmoreverify
heroku config:set DEBUG=False DJANGO_SECRET_KEY=your-production-secret
heroku config:set DATABASE_URL=your-prod-db-url
heroku run python manage.py migrate
git push heroku mainnpm run build
# Upload build folder to Netlify or connect via Git- Fork the repo
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit (
git commit -m 'Add some AmazingFeature') - Push (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
- π§ Email: ahilxdesigns@gmail.com
- π Issues: GitHub Issues
Made with β€οΈ by Smd-space and Team Happy Coding! π