Flashlist is a crossplattform mobile app that allows you to manage and share shopping lists, tasks and todos. Providing realtime-updates through WebSockets for perfect sync.
You can follow the instructions on the official Flutter website: Flutter Installation Guide
You can follow the instructions on the official Docker website: Docker Installation Guide
Once you have Flutter and Docker installed and configured, open up a terminal and install Serverpod by running:
dart pub global activate serverpod_cli
To clone run:
git clone https://github.com/Flashlist/flashlist.git
Create /flashlist/flashlist_server/config/passwords.yaml
with the development passwords set in docker-compose.yaml
development:
database: '6nGjb0OBhU9WqqZDzSAnwWotoiGiQS6C'
redis: 'QC_mss_jkyaTZDiMhJvDJj0M6quWjOal'
To be able to easily create users on your local DB navigate to /flashlist/flashlist_server/lib/server.dart
.
There you:
- Uncomment the
print
andreturn
statement. - Comment out the try-catch with the sendEmailFromFlashlist Function
auth.AuthConfig.set(
auth.AuthConfig(
sendValidationEmail: (session, email, validationCode) async {
// Send the validation email to the user.
// Return `true` if the email was successfully sent, otherwise `false`.
//UNCOMMENT the two lines beneath
// print(validationCode);
// return true;
// COMMENT OUT this try / catch
try {
return await sendEmailFromFlashlist(
session.server.passwords['emailUsername']!,
session.server.passwords['emailPassword']!,
email,
'Flashlist Email Validation',
'Your validation code is: $validationCode',
);
} catch (e) {
print(e);
return false;
}
},
Navigate to the server directory in your shell
cd flashlist/flashlist_server
Start up the Database by running
docker-compose up --build --detach
Run the server and apply the migrations to your (fresh) database:
dart bin/main.dart --apply-migrations
If your database already has all the changes you just run:
dart bin/main.dart
then all you need to do is navigate to flashlist_flutter
and run:
flutter run