A comprehensive full-stack to-do application developed using Flutter for the frontend, and Node.js, Express.js for the backend. MongoDB, managed by Mongoose, serves as the database. This project demonstrates a complete full-stack application with user authentication, task management, and responsive design.
- Flutter Frontend: Modern, responsive, and intuitive user interface.
- Node.js & Express.js Backend: Robust and scalable server-side logic.
- MongoDB & Mongoose: Flexible and scalable NoSQL database management.
- User Authentication: Secure login and registration with JWT.
- Task Management: Create, update, and delete tasks.
- Responsive Design: Seamless experience across devices.
- Node.js (v14 or later)
- MongoDB instance
- Flutter SDK
- Clone the repository:
git clone https://github.com/jaspal007/full-stack-flutter-app.git
- Navigate to the backend directory:
cd full-stack-flutter-app/backend
- Install backend dependencies:
npm install
- Navigate to the frontend directory:
cd ../frontend
- Install frontend dependencies:
flutter pub get
Create a .env
file in the backend directory and add the following environment variables:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
Start the backend server:
cd backend
npm run dev
Run the Flutter application:
cd ../frontend
flutter run
- View and manage your tasks.
- Add new tasks using the input field.
- Mark tasks as completed or delete them.
- Register a new account.
- Login with existing credentials.
- /backend: Node.js and Express.js server-side code.
- /frontend: Flutter client-side code.
- /models: Mongoose models for MongoDB.
- /routes: Express.js API routes.
- /controllers: Controller logic for API routes.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a pull request.
This project is licensed under the MIT License.
For any questions or feedback, please contact jaspal007.
This README provides a comprehensive overview of the project, including installation, usage, contribution guidelines, and more.