This project is a web application for querying and managing citizenship information.
- Citizen Query
- Address Query
- SMS Sending
- User Management
- JWT Based Authentication
- Frontend Framework: React 18
- Type Safety: TypeScript
- State Management: Recoil
- UI Library: Chakra UI
- Table Component: AG Grid
- HTTP Client: Axios
- Styling: Tailwind CSS
- Development Environment: Vite
- Routing: React Router
- Notifications: React Toastify
- Clone the project:
git clone https://github.com/username/citizenship.ui.git
cd citizenship.ui
- Install required packages:
npm install --legacy-peer-deps
- Create
.env
file:
cp .env.example .env
- Edit
.env
file and set the required variables:
VITE_API_BASE_URL=https://api.example.com
VITE_SMS_API_URL=https://sms-api.example.com
VITE_API_PORT=443
VITE_DEV_PORT=9876
- Start the application:
npm run dev
To build the project:
npm run build
The compiled files will be created in the dist
folder.
src/
├── controllers/ # API requests
├── models/ # Type definitions
├── recoil/ # State management
├── utils/ # Helper functions
└── views/ # UI components
├── pages/ # Page components
└── components/ # General components
- JWT tokens are stored in localStorage
- HTTPS is used for API requests
- Sensitive information is kept in .env file
- Rate limiting is applied
- Fork this repository
- Create a new branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'feat: add amazing feature'
) - Push your branch (
git push origin feature/amazing-feature
) - Create a Pull Request
This project is licensed under the MIT License.
Project Owner - @username
Project Link: https://github.com/username/citizenship.ui